Method and apparatus for work management for facility maintenance

ABSTRACT

A system and method are shown for work management for facility maintenance. The system includes a central management server configured to receive a first set of information including tasks to be performed at a first facility and to generate a first work schedule for a first user selected to perform the first work schedule at the first facility. The system further includes a first client device at the first facility, where the first client device is configured to receive the first work schedule from the central management server and display the first work schedule to the first user via an electronic management interface. The electronic interface is further configured to receive task completion data from the first user and send the data to the central management server. When the central management server receives the task completion data, the central management server is configured to update a status of the work schedule based upon the task completion data received from the first user.

FIELD OF THE INVENTION

This present invention relates to facility management. Morespecifically, it relates to a system and method for managing facilitiesusing client devices at each facility that communicate with a centralmanagement server through a network.

BACKGROUND OF THE INVENTION

Facility maintenance is no longer considered just an overhead expense,and it plays an important role in a company's success. The more anenterprise can optimize and maintain its assets, the more it can competein the areas of cost and quality.

One of the important factors in maintaining a successfully operatingfacility is work scheduling. Prior to the introduction of computerizedwork scheduling systems, scheduling of work was performed manually. Themanual scheduling process involved determining what work has to beperformed and the time, materials and resources, such as workers andtools required to perform it, as well as information which influencedthe schedule, such as the priority associated with the work orders. Thefrequency with which the scheduling process had to be performed alongmany other factors contributed to the development of computerizedscheduling systems.

One of such computerized schedule systems is described in U.S. Pat. No.5,111,391, Fields et al. The Fields' patent relates to a system andmethod for the creation of staff schedules at remote locations, andtakes into account location specific values and historical data, whilesimultaneously conforming to corporate policy regarding schedulingstandards and labor regulations. Another computerized schedule system isdescribed in U.S. Pat. No. 5,343,387, Honma et al. The Honma's patent isdirected to a building management system. Specifically, the Honma'spatent describes a cyclic building maintenance work schedule preparationsystem that is useful in preparing a schedule table of cyclic work inadvance upon sending workers to periodically visit client buildingsunder a maintenance contract to conduct inspections at the buildings.

In addition to the work scheduling, a maintenance analysis and workertraining are also important factors in maintaining a successfullyoperating facility. One such system is described in the U.S. Pat. No.5,867,823, to Richardson. The Richardson's patent describes a hand-heldsystem that provides work guidance and instruction for carrying out agiven task and records maintenance duties without the need for writtenrecords and that is carried by a worker.

While the existing systems describe electronic work scheduling andproviding instructions to a worker, a need still remains for a dynamicwork management system enabling a user interaction with the system.

SUMMARY OF THE INVENTION

The system and method of the present invention includes a system andmethod for work management.

In accordance with one aspect of the present invention, a system forwork management includes a central management server configured toreceive a first set of information including tasks to be performed andscheduled at a first facility. When the central management serverreceives the first set of information, the central management servergenerates a first work schedule for a first user selected to perform thefirst work schedule at the first facility. According to an exemplaryembodiment of the present invention, the central management server isfurther configured to receive a first task status update messagecorresponding to the first work schedule and, responsively, update astatus of each task of the work schedule based upon task completion datareceived in the first task status update message. The exemplary systemof the present invention further includes a first client devicecorresponding to the first facility. The first client device includes anelectronic management interface configured to display the first workschedule to the first user at the first facility and further receivetask completion data from the first user for each task in the first workschedule. The client device is further configured to incorporate thetask completion data from the first user into the first task updatemessage and send the first task update message to the central managementserver. The central management server according to an exemplaryembodiment of the present invention further includes a databaseconfigured to store the first work schedule, and the database includes aplurality of task identifiers each of which is associated with acorresponding one of a plurality of tasks specified in the first workschedule. According to an exemplary embodiment of the present invention,the central management server is a web-based central management server,and the electronic management interface on the first client device is aweb-based electronic management interface.

In accordance with a preferred embodiment, a method for managing work ata facility includes receiving on a central management server from afirst facility a first message including a first set of informationincluding tasks to be performed and scheduled at the first facility, andgenerating a first work schedule for a first user selected to performthe first work schedule at the first facility. The method furtherincludes sending from the central management server to the firstfacility a second message including the first work schedule responsiveto receiving a work schedule request from the first user. The methodfurther includes receiving on the central management server from thefirst facility a third message including task status update datacorresponding to the first work schedule, and updating a status of eachtask in the first work schedule based upon the task completion datareceived in the third message. The method further includes sending tothe first facility a fourth message including the status of each task inthe first schedule. The central management server sends the fourthmessage responsive to receiving a first work status request message fromthe first facility. The method in accordance with the present inventionfurther includes monitoring a status of each task specified in the firstwork schedule using the task status update data received from the firstfacility, detecting that the status for a task indicates that the taskis uncompleted, and rescheduling the uncompleted task responsively todetecting the uncompleted task status. The method further includessending an alert message to a manager of the first facility associatedwith the uncompleted task.

In accordance with a preferred embodiment of the present invention,another method for managing work at a facility includes sending from aclient device at a first facility to a central management server a firstmessage defining a first set of information including tasks to beperformed and scheduled at the first facility, receiving at the firstclient device a second message including a first work schedule for afirst user selected to perform the first work schedule at the firstfacility, and displaying the first work schedule to the first user on anelectronic management interface associated with the first client device.The method in accordance with the present invention further includesreceiving via the electronic management interface a first user input fora task specified in the first work schedule, where the first user inputincludes task completion data corresponding to the first work schedule,and responsively, generating on the first client device and sending tothe central management server a third message including task completiondata corresponding to the first work schedule. The method in accordancewith the present invention further includes receiving from the centralmanagement server a fourth message including status of each task in thefirst work schedule.

In accordance with another aspect of the present invention, a fixedlocation interface unit configured to permit information transferbetween an end user and a central management server includes a firstapplication configured to establish a communication link between thefixed location interface unit and the central management server, anelectronic interface configured to display a first work schedule to afirst user and receive from the first user task completion status datafor each task in the first work schedule. The fixed location interfaceunit in accordance with the present invention further includes a secondapplication configured to generate and send to the central managementserver a first task status update message upon receiving the taskcompletion status data from the first user. In accordance withembodiments of the present invention, the electronic interface is aweb-based interface, a graphical user interface, a touch screeninterface, or the combination thereof. Further, in accordance withembodiments of the present invention, the first work schedule displayedto the first user is an icon-based work schedule in which each task inthe work schedule is associated with a task icon. In one embodiment ofthe present invention, the icon-based work schedule may include acolor-coded task icon for each task in the first work schedule. Thefixed location interface unit, in accordance with the present invention,includes a fourth application configured to permit a supervisory user torequest a first work schedule report, receive the first work schedulereport from the central management server, and display the report to thesupervisory user.

In accordance with another aspect of the present invention, a centralmanagement server is configured to manage work on a plurality offacilities. The central management server according to the presentinvention includes a database configured to store work schedules for aplurality of facilities, a plurality of facility records, a plurality oftask identifiers for each task specified in the plurality of workschedules, and a plurality of instruction information records for eachtask. The central management server further includes a first applicationconfigured to receive from a first facility a first set of informationincluding tasks to be performed and scheduled for the first facility.The central management further includes a second application configuredto retrieve a first facility record from the database and generate aplurality of first facility work schedules for a plurality of firstfacility users selected to perform the tasks at the first facility. Thecentral management server stores the work schedules in a database. Thecentral management server further includes a third application togenerate an icon-based schedule for each of the plurality of firstfacility work schedules. In accordance with the present invention, eachtask specified in the work schedules is associated with a predeterminedtask icon. The central management server further includes a fourthapplication configured to receive a first work schedule request from afirst user at a first facility. In accordance with the presentinvention, the first user requests the first work schedule via a fixedlocation interface unit configured to permit information transferbetween the plurality of first facility users and the central managementserver. The fourth application is further configured to retrieve a firstwork schedule for the first user and send the first work schedule to thefirst user. The central management server in accordance with the presentinvention further includes a fifth application configured to receive afirst task status update message corresponding to the first workschedule and, responsively, update a status of each task of the firstwork schedule based upon task completion data received in the first taskstatus update message.

The foregoing and other features and advantages of the system and methodfor work management will be apparent from the following more particulardescription of preferred embodiments of the system and method asillustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present inventions are described withreference to the following drawings, wherein:

FIG. 1 is a diagram illustrating a preferred embodiment of the networkarchitecture for providing facility work management in accordance withthe present invention;

FIG. 2 is a functional block diagram illustrating one example of anembodiment of an Electronic Management Interface according to thepresent invention;

FIG. 3 is a data diagram illustrating an example of some data structuresthat may be present in a central server database in accordance with thepresent invention;

FIG. 4 is a data diagram illustrating an example of data contained in afacility record, a task record and a user record in accordance with thepresent invention;

FIG. 5 is a data diagram illustrating an example of a customer recordpopulated with data for two customers in accordance with the presentinvention;

FIG. 6 is a simplified diagram illustrating an embodiment of a softwarearchitecture that may be employed on an Electronic Management Interfacein accordance with the present invention;

FIG. 7 is a block diagram illustrating an exchange of messages forrequesting a work schedule according to one embodiment in accordancewith the present invention;

FIG. 8 is a block diagram illustrating an exchange of messages forrequesting on work schedule according to a second embodiment inaccordance with the present invention;

FIG. 9 is a block diagram illustrating a message flow for ElectronicManagement Interface central management server communication inaccordance with the present invention;

FIGS. 10A, 10B and 10C are block diagrams illustrating three exemplaryembodiments of EMI units in accordance with a preferred embodiment ofthe present invention;

FIG. 11 is an exemplary language selection dialog box in accordance witha preferred embodiment of the present invention;

FIG. 12 is an exemplary login dialog box in accordance with a preferredembodiment of the present invention;

FIG. 13 is an exemplary icon-based schedule dialog box in accordancewith a preferred embodiment of the present invention;

FIG. 14 is an exemplary task location dialog box in accordance with apreferred embodiment of the present invention;

FIG. 15 is an exemplary task instructions dialog box in accordance witha preferred embodiment of the present invention;

FIG. 16 is an exemplary task status update dialog box in accordance witha preferred embodiment of the present invention;

FIG. 17 is an exemplary web site dialog box for a web site user inaccordance with a preferred embodiment of the present invention;

FIG. 18 is an exemplary web site dialog box that may be displayed to auser upon authenticating the user accordance with a preferred embodimentof the present invention;

FIG. 19 is an exemplary web-site work calendar dialog box in accordancewith a preferred embodiment of the present invention;

FIG. 20 is an exemplary dialog box illustrating a work order record inaccordance with a preferred embodiment of the present invention;

FIG. 21 is an exemplary dialog box illustrating an inspection record inaccordance with a preferred embodiment of the present invention;

FIG. 22 is a flow chart illustrating a method for providing a workschedule from a central management server to a client device inaccordance with a preferred embodiment of the present invention;

FIG. 23 is a flow chart illustrating a method for requesting andreceiving a work schedule at a client device in accordance with apreferred embodiment of the present invention;

FIG. 24 is a flow chart illustrating a method for managing task statusrecords on a central management server to a client device in accordancewith a preferred embodiment of the present invention;

FIG. 25 is a flow chart illustrating a method for receiving task statusdata at a client device in accordance with a preferred embodiment of thepresent invention;

FIG. 26 is a flow chart illustrating a method for updating a task statusfrom “scheduled” to “due” at a central management server in accordancewith a preferred embodiment of the present invention;

FIG. 27 is a flow chart illustrating a method for updating a task statusfrom “due” to “late” at a central management server in accordance with apreferred embodiment of the present invention;

FIG. 28 is a flow chart illustrating a method for updating a task statusfrom “approved” to “closed” at a central management server in accordancewith a preferred embodiment of the present invention;

FIG. 29 is a flow chart illustrating a method for forcefully approving atask status by a central management server in accordance with apreferred embodiment of the present invention;

FIG. 30 is a flow chart illustrating a method for canceling and closinguncompleted tasks at a central management server in accordance with apreferred embodiment of the present invention;

FIG. 31 is a flow chart illustrating a method for updating a taskrecords associated with a task “reschedule” identifier at a centralmanagement server in accordance with a preferred embodiment of thepresent invention;

FIG. 32 is a flow chart illustrating a method for controlling access tocustomer data based upon a permitted access level of a user relative toa hierarchy of the customer data in accordance with a preferredembodiment of the present invention; and

FIG. 33 is a flow chart illustrating a method for sending a broadcastmessage to a set of users based upon a permitted access level of a userrelative to a hierarchy of the customer data in accordance with apreferred embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention is directed to a system and method for providingwork management services for customer facilities.

FIG. 1 is a functional block diagram illustrating an exemplaryembodiment of a network architecture 100 for providing facility workmanagement according to one embodiment of the present invention. Thenetwork architecture 100 includes a wide area network (WAN) 102, such asthe world wide web or a public network, that provides a communicationpath between a first facility 110 and a second facility 120, on the onehand, and a central management server 130 on the other.

Facility 110 includes an electronic management interface (EMI) unit thatcommunicates with WAN 114 via communications link 114. Likewise,facility 120 includes EMI units 122 and 126 that communicate with WAN102 via communication links 124 and 128, respectively. EMI units arepositioned at their respective facilities and provide an informationinterface for managing users performing maintenance functions at thefacilities. One or more than one EMI may be provided for each facilitydepending upon the size of the facility, the number of users, or otherfactors based upon convenience.

In one embodiment, a facility may include one or more fixed location EMIunits and a number of portable EMI units. In such an embodiment, a EMIunit, such as personal digital assistant is synced with the fixedlocation EMI unit, and communicates with the fixed location EMI unitoperating as a master EMI unit. In such an embodiment, the fixedlocation EMI unit at the facility may be configured to communicate withthe server 130. In another alternative embodiment, an EMI unit mayinclude a satellite-based EMI unit configured to communicate withcentral management server 130 and a number of fixed location and/orportable EMI units at one or more facilities.

Central management server 130 communicates with WAN 114 viacommunications link 132. Server 130 is coupled to a database 140 formaintaining data regarding maintenance of the facilities, such as listsof tasks to be performed at the facilities, lists of staff, schedulesfor performance of the tasks, status of the tasks and work schedules, aswell as quality data regarding performance of the tasks.

The EMIs represent client devices that communicate with centralmanagement server 130 through WAN 102 in, for example, a client-serverrelationship. Communication through WAN 102 provides access the server130 from facilities 110 and 120 to obtain information for maintenance ofthe facilities and to collect completion status. The completion statusand progress of maintenance can then also be monitored and modified fromremote sites that access server 130 via WAN 102.

The EMI units provide an easy to operate interface at the facilities forusers performing tasks at those facilities. In one approach, the EMI isaffixed to the facility that it serves so that the EMI and the facilityhave a direct relationship such that the EMI may be used to identify thefacility. FIG. 2 is a functional block diagram illustrating one exampleof an embodiment of an EMI 112 according to the present invention. EMI112 is a specialized function computer located at facility 110. EMI 112has a microprocessor 150 that is coupled to a user interface 152, alocal database 154, a memory store 156 and a communication interface 158through a processor bus. The microprocessor 150 may include any existingor later developed processing units such as, for example, a Celeronprocessing unit.

User interface 152 may take a variety of forms. For example, interface152 may be a touch screen having a graphical user interface (GUI) thatallows a user to make control and data inputs by touching the screen,which also outputs data to the user in graphical form through iconsdisplayed on the screen. The display for the EMI may, for example, beconstructed using a liquid crystal display (LCD) screen or a cathode raytube (CRT) screen. In other embodiments, the user interface 152 may, forexample, utilize a pen based input system, a keyboard input system, or amouse pointing device. One of ordinary skill in the art will readilyrecognize that the design of user interface 152 may employ a widevariety of data input/output devices.

Database 154 provides local mass storage for the EMI. Database 154 maybe used to store instructions relating to, for example, a browserapplication for communicating data to and from server 130, as well asoperating system instructions and communication protocols. In addition,in one embodiment, data may be stored locally that may be accessedthrough the user interface when, for example, communication with server130 via WAN 102 is unavailable. Data may also be stored for later uploadto server 130 when communication is available.

Store 156 may, for example, be a persistent memory device for storing abootstrap routine for starting the EMI as well as local memory forexecuting instructions and storing local variables. Either database 154or store 156 may be used to store a device identifier (ID) foridentifying the EMI device and, by extension, the facility where the EMIis located. Communication interface 158 provides one end of acommunication link 114 with WAN 102. Communication link 114 may alsotake a wide variety of forms including a dial-up communication link, awireless communication link, a broadband communication link, a localarea network (LAN) communication link, a wide area network (WAN)communication link, or a combination thereof. The EMI 112 may establishcommunication sessions with the central management server 130 using, forexample, any existing or later developed modems, such as 56K modems withand/or without the wireless capabilities, cable modems, digitalsubscriber lines (DSLs), or network communication equipment, such as anetwork interface card.

As noted above, EMI 112 may include a browser application. The browsermay, for example, be a Java compatible web-browser such as the MicrosoftExplorer 5.5, Netscape 4.5, or any other currently existing or laterdeveloped web-browsers. According to one embodiment, the EMI unit 112has a limited web-browsing capability that only provides for accessingthe central management server 130. Access to all other sites from theEMI unit 112 may be limited using, for example, a set of firewallpolicies or a proxy server. In one embodiment, the EMI unit 112 may beconfigured to employ a dynamic host configuration protocol (DHCP)process to obtain an IP address, thus, eliminating the need ofhand-coding the IP address on the EMI unit 112. The EMI unit 112 mayalso include an authentication means such as a card reader or a voicerecognition device, for instance, for receiving identifying andauthentication information from the user of the EMI. Note that EMIs 122and 126 may be similarly constructed or may take on different formsprovided that they are capable of performing the same functions.

The communication between the EMI unit 112 and the central managementserver 130 consists of bi-directional data transmission via thecommunication link 114, WAN 102 and communication link 132 and provides,for example, for downloading schedules of work tasks from the centralmanagement server 130 and sending work update messages from the EMI unit112, as will be later described in greater detail. According to anexemplary embodiment, the EMI unit 112 is configured with a locationidentifier that is appended to any messages being sent from the EMI unit112 to the central management server 130 so that the central managementserver 130 may automatically determine the location of a usercommunicating with the central management server 130.

According to an exemplary embodiment, in addition to communicating withthe central management server 130, a user of EMI unit 112 may establisha communication session with a call center managed by a number of systemadministrators that may access records stored in the database 140. Forexample, EMI unit 112 may have a voice input/output means such abuild-in speaker enabling a user to have a conversation with a systemadministrator at the call center. Further, in such an embodiment, EMIunit 112 may include a user input selection, such as a button embeddedin EMI unit 112, enabling a user to establish instantaneouscommunication session with a system administrator at the call center.

As illustrated in FIG. 2, the central management server 130 includes amicroprocessor 160, a local memory store 166 and a communicationinterface 168 coupled together via a processor bus. In one embodiment,database 140 may be a device integrated into server 140 and coupled tothe processor bus for processor 160. However, it should be understoodthat different embodiments are possible as well. For example, thecentral management server 130 may be configured to communicate with oneor more external database devices via one or more communication links,such as a back-end network that links server 130 to multiple databaseunits.

FIG. 3 is a data diagram illustrating an example of some data structuresthat may be present in a central server database 200, such as database140 in FIG. 1 and FIG. 2. Database 200 may include a user record 202that includes a USER ID for identifying a user who may have access tothe server database and may have tasks assigned by the centralmanagement server. For assignment of tasks, user record 202 may includea WORK SCHEDULE list of task identifiers TASK IDs. In this embodiment,each TASK ID is a numerical value that identifies a corresponding TASKRECORD 206. However, the TASK ID may be implemented in a variety ofways, such as a pointer to a TASK RECORD 206, as one of ordinary skillwill readily recognize. User record 202 may also include an ERRORCOUNTattribute that may be used to maintain a record of the number of timesthat the user identified by USER ID has had an assigned task rejectedfor poor quality, for example. As described below, the ERRORCOUNTattribute or, alternatively, the INSTRUCT attribute, may be used totrigger display of an instruction for completing the task to try toimprove the quality of the user's performance. In another alternative,the number of errors by a user may be derived from the status of taskrecords. The LANGUAGE field may be used to indicate a language forinstructions to be displayed to a user.

One aspect of the present invention is that the EMI may be used forcommunication with users who may be dispersed at remote facilities oracross several facilities. This aspect of the present invention allows aWORK SCHEDULE of tasks to be provided to a user at a remote site.However, this aspect of the present invention may also allow a text fileto be stored in a MESSAGE field of user record 202 that may be displayedto the user using the EMI. MESSAGE may be defined by the centralmanagement server 130 to alert a user that, for example, a task has beenrejected and needs to be repeated. MESSAGE may also be defined byanother user, such as a supervisor or administrator, to send a messageto the user identified by USER ID. One of ordinary skill in the art willreadily appreciate that this aspect of the present invention provides aflexible communication channel between remote users and centralmanagement that may be readily adapted to a variety of uses.

In one embodiment, the database 140 is configured to store facilityrecords, which may take the form of facility record 204. Referring backto FIG. 1, the database 140 may store facility records for the firstfacility 110 and the second facility 120. Facility record 204 of FIG. 3illustrates one embodiment of a facility record according to the presentinvention. This embodiment of facility record 204 is keyed by a facilityidentifier field FACILITY ID and includes a list of tasks in a WORKSCHEDULE list that, in turn, is included in a set of lists based onDATE, where each list in DATE is composed of a list of tasks in WORKSCHEDULE. Each task in the WORK SCHEDULE list includes a TASK ID thatidentifies the task and a USER ID to indicate the user assigned toperform the task, where the USER ID value indexes an instance of userrecord 202.

Each TASK ID value in user record 202 or facility record 204 indexes aninstance of task record 206. Task record 206 is keyed by TASK ID and mayinclude a TASK ICON that is either a graphical file or a pointer to agraphical file. The TASK ICON for a task may be displayed to a userreviewing the WORK SCHEDULE list for his own instance of user record 202or reviewing the WORK SCHEDULE for a facility record 204. The TASK ICONgraphic is displayed through the user interface 152 of EMI 112 shown inFIG. 2.

Each instance of task record 206 may have a list of INSTRUCTION thatincludes instructions for performing the task in several languages. EachLANGUAGE field in the INSTRUCTION list of task record 206 may include atest file for the instructions in a particular language and may, forexample, be ordered such that the first element of the INSTRUCTION listis a file with instructions in English, the second element is a filewith instructions in Spanish, and the third element is a file withinstructions in Polish. Thus, when a user makes a language selection,subsequent language displays may be made based on the user's selectedlanguage. This aspect of the invention is described in further detailbelow. Alternatively, the server 130 may select a language in which taskrecord should be provided to a user based on a user identifier. In suchan embodiment, a user record tagged with a USER ID may index a languagein which a user wishes to communicate. Based on the language specifiedin the user record, the server 130 may retrieve task files in anappropriate language.

The embodiment of task record 206 in FIG. 3 also includes a MAP fieldthat either includes or points to a graphical file that provides a mapto the location where the task is to be performed. Task record 206 alsoincludes a STATUS field that indicates the status of the task. Forexample, the STATUS field may indicate that the task is scheduled, dueto be performed, rescheduled, cancelled, approved or rejected. Alongwith the STATUS field is a USER ID field that identifies the user whochanged the value of the STATUS field. This aspect of the presentinvention will be described in further detail below.

FIG. 4 illustrates an example of data contained in facility record 204,task record 206 and user record 202. In this example, a facility withFACILITY ID=131 has a WORK SCHEDULE list constructed for Oct. 7, 2001.Each element of the WORK SCHEDULE list identifies a TASK ID for a taskto be performed and a USER ID for the user that the task is assigned to.In this example, USER ID=34 has three tasks assigned to him, where thetasks are identified by TASK ID (32, 29, 12). Likewise, USER ID=28 hasthree tasks assigned to him, where the tasks are identified by TASKID=(17, 97, 82).

Each TASK ID value in facility record 204 indexes a correspondinginstance of task record 206. In this example, a task record 206 instanceexists for each of the TASK ID values 12, 17, 29, 32, 82 and 97. Eachtask record 206 instance contains the TASK ICON, INSTRUCTION list, MAPand STATUS data for the task. Similarly, each USER ID value in facilityrecord 204 indexes a corresponding instance of user record 202. The WORKSCHEDULE list for USER ID 28 shows that the user has been assigned thetasks having TASK ID values 17, 82 and 92. Likewise, the WORK SCHEDULElist for USER ID=34 shows that the user has been assigned the taskshaving TASK ID values 12, 29 and 32. However, the ERROR COUNT value forUSER ID=34 is 3 and the INSTRUCT field is set to Y for yes. Either ofthese fields may be used to trigger display of instructions from theINSTRUCTION list for the listed tasks in the language indicated by theLANGUAGE field of the user record. This allows just-in-time instructionsto be provided to a user either automatically, based upon the ERRORCOUNTvalue, or by a supervisory user setting the INSTRUCT field to Y. TheERRORCOUNT value may be incremented each time that a task completed bythe user is rejected. This aspect of the present invention will bediscussed further below.

Returning to FIG. 3, a customer record 208 may also be provided thatallows data to be maintained for all the facilities being managed for aparticular customer or by a particular customer. Customer record 208 iskeyed by a CUSTOMER ID field that identifies each customer. A REGION IDlist is a list of each region for the customer. Each REGION ID listcontains the FACILITY ID for each facility in the region, where theFACILITY ID in customer record 208 indexes into an instance of facilityrecord 204. Customer record 208 may also include an ACCESS list thatindicates the users that may access the customer record data and a LEVELto which the user may access the customer record data. Each USER ID ofthe ACCESS list indexes into an instance of user record 202. Forexample, a user may be restricted to access only to his own WORKSCHEDULE as identified in his instance of user record 202. A regionalsupervisory user may have access to all the facility data for one REGIONID. A higher level administrator may have access to all data for theparticular CUSTOMER ID value.

FIG. 5 illustrates an example of customer record 208 populated with datafor two customers. One instance of customer record 208 is keyed byCUSTOMER ID =355. This customer has three regions where REGION ID=(110,111 and 112). The region identified by REGION ID=110 has threefacilities identified by FACILITY ID=(131, 133 and 134). The otherregions similarly have three facilities each, but the number offacilities and the number of regions may be arbitrarily selected basedupon the customer's selections. Each value for FACILITY ID indexes acorresponding instance of facility record 204.

The ACCESS list for this customer lists the users that have access tothe customer's data. Each USER ID value in customer record 208preferably references an instance of user record 202 and indicates thelevel of access through the value in the LEVEL field. For example, LEVELis set to 110, corresponding to REGION ID=110 for USER ID=56, which, inone embodiment, indicates that the user is a regional manager who hasaccess to the data from all facility records in the list correspondingto the REGION ID value, but only that REGION ID value. For USER ID=88,LEVEL is set to 355, corresponding to CUSTOMER ID= 355, which means thatthe user is a high level manager with access to all data for the listedCUSTOMER ID value, but only the listed CUSTOMER ID value. The LEVELvalues for USER ID=34 and USER ID=28 are set to the same value as USERID, which indicates that these users only have access to their own WORKSCHEDULE data. For USER ID=30, LEVEL is set to 131, corresponding toFACILITY ID=131, which indicates that this user is a facility managerwho has access to all data for the corresponding facility. This permitsa hierarchy of access to be provided to different users. Note that thisparticular implementation requires that the different identifying valuesbe unique across customers, regions and facilities. A variety of otherapproaches may be taken to controlling access to customer data may alsobe taken. For example, a user's level of access may be identified by anadditional field in user record 202 or by a separate record altogether.

The facility records may also include a set of policies for generatingwork schedules for each facility. For example, the first facility 110may require that the floors be swept and the toilets cleaned each night,while windows may only be scheduled for cleaning once a week. It shouldbe understood that the database 140 may store facility records formultiple facilities having different policies for generating workschedules. Alternatively, a customer associated with a predetermined setof policies may have different facility locations, and each location mayhave a different set of policy rules for generating work schedules.

According to an exemplary embodiment, if a customer receiving facilitymanagement services has a number of facilities throughout a country,facility records for that client are arranged in the database 140according to a number of facility hierarchy levels. The facilityhierarchy levels may include, for example, a global facility level, acountry facility level, a regional facility level, a branch facilitylevel, or a location facility level. However, the present invention isnot limited to such facility levels, and different facility levels couldalso be used. In such an embodiment, each facility record stored in thedatabase 140 may be associated with a predetermined access identifierlimiting a user access to a predetermined set of facility records. Forexample, a supervisory user having a supervisory access identifier thatis tagged to a predetermined facility identifier may only be givenaccess to a predetermined set of records compiled on the centralmanagement server 130 for a number of users managed by the supervisoryuser at that facility. In such an embodiment, the supervisory user willnot be given an access to facility records marked with higher hierarchylevels.

Facility information records stored in the database unit 140 for thefirst facility 110 may include, for example, facility locationinformation records, a facility map record, a facility descriptionrecord, or facility safety requirement records. Each record stored inthe database unit 140 for the first facility 110 may be marked with afirst facility identifier. As mentioned in the proceeding paragraph, thefirst facility 110 may be a part of a bigger facility structure createdfor a customer having facilities in different countries and differentcities. In such an embodiment, the first facility 110 records may betagged with the first facility identifier that maps to a predeterminecity identifier. The predetermined city identifier may then map to apredetermined regional identifier that maps to a predetermined countryidentifier, thus, creating a tree-like database storage structure.

The database 140 further includes user records for each facility or aclient. According to one embodiment, each user is identified using apredetermined user identifier associated with a predetermined hierarchy(access) level. A user record may include a user's skill level, user'scontact information, user's supervisor information, user's work hours ora shift identifier. Further, a user record includes one or more facilityidentifiers. In one embodiment, a user record may include a singlefacility identifier indicating that the user can only perform work at apredetermined location associated with the facility identifier.Alternatively, a user record may include multiple facility identifiersfor a number of facilities at which a user may be scheduled to performdifferent or the same tasks. Further, alternatively, a user record mayinclude a single identifier associated with a predetermined cityincluding a number of facilities at which the user may be scheduled toperform tasks. It should be understood that the user's records are notlimited to these records or user identifiers, and, more, fewer,different or equivalent user records and/or identifiers could also beused.

According to an exemplary embodiment, the central management server 130is configured to manage work on a plurality of facilities such as thefirst facility 110. First, the central management server 130 receives awork order request including a number of tasks to be performed at thefirst facility 110. The methods of placing a work order at the centralmanagement server 130 will be later described in greater detail. Whenthe central management server 130 receives a work order request for thefirst facility 110, the central management server 130 creates a workorder record linked to the first facility identifier. The work orderrecord created in the database 140 further includes a number of taskrecords created for each task specified in the work order request, andeach task record is marked with the first facility identifier.

According to an exemplary embodiment, the central management server 130may employ a number of global identifiers for defining different typesof tasks. Further, each task record stored in the database 140 may bemarked with a task status identifier, and the central management server130 may be configured to monitor and update a status of each task storedin the database 140, the process of which will be later described ingreater detail.

Task status identifiers employed on the central management server 130 tomark task records may indicate a variety of states. For example, statusindicator values may include a task pending approval identifier, a newtask request approved identifier, a new task request rejectedidentifier, a task unscheduled identifier, a task scheduled identifier,a task due identifier, a task not completed identifier, a task completedidentifier, a task closed identifier, a task rescheduled identifier, atask cancelled identifier, a task approved identifier, a task rejectedidentifier, or a task forcefully approved identifier. In one embodiment,when the central management server 130 creates one or more task recordsupon receiving a work order request for the first facility 110, thecentral management server 130 tags each newly created task record with atask unscheduled identifier and/or a task pending approval identifier.According to an exemplary embodiment, if a task is tagged with a taskpending approval identifier, a higher hierarchy user has to approve thetask. The central management server 130 may be configured to determinewhether a task record should be tagged with a task pending approvalidentifier based on facility records for which the task record iscreated. For example, facility records may include a number of templatesdefining which tasks should be automatically approved by the centralmanagement server 130. In an alternative embodiment, if a userassociated with a predetermined hierarchy (access) level places a workorder request, the central management server 130 may automatically tagtask records generated for tasks specified in the work order requestwith a task approved identifier as well as a task unscheduledidentifier.

Further, according to an exemplary embodiment, a user associated with apredetermined access level may view task records stored in the database140 and modify task identifiers. In one embodiment, the user may accessthe database records 140 via a web page, as will be later described ingreater detail. Alternatively, the database records as well as operationof the system may be monitored and updated by 24 hours-system operatorsat a call center. In such an embodiment, the user may simply call asystem operator. For example, a user having a predetermined access levelmay approve tasks, thus, triggering the central management server 130 tochange a task pending approval identifier to a task approved identifierin each user-approved task record. Alternatively, the user may reject atask, thus, triggering the central management server 130 to change atask pending approval identifier to a task rejected identifier in a taskrecord. Further, alternatively, the central management server 130 may beconfigured to automatically approve a task if no instructions to thecontrary are received in a predetermined time period from a supervisoryuser.

According to an exemplary embodiment, the central management server 130is configured to monitor work orders and task records stored in thedatabase 140. For example, if a number of task records created for thefirst facility 110 indicate that tasks have been approved for scheduling(task records including task approved identifiers), the centralmanagement server 130 creates a work schedule for one or more usersselected to perform the approved tasks at the first facility 110.

When a task is scheduled and assigned to a predetermined user, thecentral management server 130 updates a task identifier in a taskrecord. According to an exemplary embodiment, when a task is scheduled,the central management server 130 updates a task unscheduled identifierto a task scheduled identifier. Further, a timer may be set by anapplication running on the central management server to trigger futurestatus checks for the task, the process of which will be described ingreater detail below.

According to an exemplary embodiment, a work schedule provided to usersvia the EMI unit 112 at the first facility 110 is an icon-basedschedule. In one embodiment, the database 140 stores a number of taskicons that are linked to task identifiers in work schedules generated onthe central management server 130 for the first facility 110. A taskicon may include a graphical and/or textual task icon. For example, atask icon may include a graphical representation of a task along with ashort written description for a task.

In one embodiment, when the central management server 130 receives awork schedule request from a user using EMI 112 at the first facility110, the processor 160 retrieves the requested work schedule from thedatabase 140 along with task icons for tasks scheduled for the user,thus, creating an icon-based schedule that is subsequently sent to EMI112 at the first facility 110. In an alternative embodiment, task iconsmay be pre-stored in the database 154 on the EMI unit 112. In such anembodiment, when a schedule is received at the EMI unit 112, theprocessor 150 retrieves from the database 154 a predetermined set oftask icons based on task identifiers specified in the received workschedule. The icon-based schedule is subsequently displayed to a uservia the touch-screen on the EMI unit 112. Task icons may includecolor-coded icons that may be utilized to define a priority level or awarning regulation for each task.

Further, for example, a facility or a predetermined set of facilitiesmay employ different task icons. In such an embodiment, facility recordsassociated with a predetermined facility and stored in the database 140may include facility-specific icons. In such an embodiment, when thecentral management server 130 generates work schedules for thatfacility, the central management server 130 may link scheduled tasks tothe facility-specific icons stored in the database 140.

The database 140 further includes task-training records including basicinstructions for performing each task. In one embodiment, when a workschedule is requested from the first facility 110, the centralprocessing unit 160 retrieves from the database 140 and sends to thefirst facility 110 the requested work schedule and task-training recordsfor each task specified in the schedule. In one embodiment,task-training records stored in the database 140 are linked to taskidentifiers associated with task records created on the centralmanagement server 130. For example, a task training record for anelevator cleaning may map to each work schedule including an elevatorcleaning identifier. When a user at the first facility 110 requests awork schedule, the central management server 130 sends to the EMI unit112 the requested work schedule and task training records for each taskspecified in the sent schedule. Alternatively, task training records maybe pre-stored in the database 154 on the EMI unit 112. In such anembodiment, when a user requests task training instructions, theprocessing unit 110 may retrieve an appropriate training record based ona task identifier associated with a task for which the task traininginstructions were requested.

Further, each task record and task training record may be generated in anumber of languages. As will be later described in greater detail, whena user accesses the EMI unit 112, the user may select a language inwhich the user wishes to receive his/her work schedule and traininginstructions. In such an embodiment, when the central management server130 provides a work schedule and training instructions to a user at thefirst facility 110, the work schedule and training instructions are inthe language selected by the user.

Further, each scheduled task record stored in the database 140 may linkto a task location map including a detailed map of a facility with amarked up location at which a predetermined task should be performed.The database 140 may include task location map records that are linkedto scheduled task records in work schedules generated for each user.

According to one exemplary embodiment, the EMI 112 may be configured tolocally access some data from the database 154 in addition tocommunicating with server 130 to access data stored in database 140.FIG. 6 is a simplified diagram illustrating an embodiment of a softwarearchitecture 210 that may be employed on EMI 112. The architecture 210includes an operating system 212 that controls operation of EMI 112. Auser inputs data via user interface modules 152 that receive, processand provide the user input to the operating system 212.

In one embodiment of the present invention, the operating system 212accesses a plurality of template files, such as templates 210illustrated in FIG. 3, in database 154 corresponding to differentgraphical user interface views that may be displayed by EMI 112. Forexample, operating system 212 may retrieve a template for a languageselection screen, such as the screen shown in FIG. 11, or for a useridentification number input screen, such as the screen shown in FIG. 12.The operating system 212 retrieves the appropriate template for thestage of processing, e.g. language selection or user ID input, andpasses the template to server process 216 for processing. Each templatefile includes graphical and textual data and formatting descriptors forrendering the view. In addition, each template file includes resourcefile identifiers that provide a link for accessing data elsewhere in thelocal database 154 or from remote database 140 that is needed topopulate the user view.

Server process 216 first determines whether the data needed to populatethe template is stored locally from database 154. However, if the serverprocess 216 determines that the requested data is not stored locally inthe database 154, then the server process 216 may instruct the operatingsystem 212 to retrieve data from remote database 140 through the server130. The operating system 212 may then establish a communication sessionwith the server 130 via the communication interface 158. Once all thedata needed for the template is obtained, then the template with theretrieved data is rendered for display to the user via EMI 112.

In one embodiment, the server 130 may preload to the database 154 anumber of work schedules generated for a plurality of users at the firstfacility 110. In such an embodiment, upon a successful authentication ofa user, the operating system 212 will retrieve a work schedule for theauthenticated user from the local database 154 rather than from theremote database 140.

For example, in response to a user inputting USER ID=28 using the screenshown in FIG. 12, operating system 212 retrieves a template from localdatabase 154 corresponding to a work schedule view, such as the viewshown in FIG. 13, which is passed to server process 216 along with USERID=28. The template for the work view includes a file identifier for auser record that causes server process 216 to search local database 154for a user record instance keyed by USER ID=28. When the user record isretrieved, server process 216 scans the user record to determined theTASK ID values that are present. The server process 216 will then searchlocal database 154 for a task record 206 for some or all of the TASK IDvalues from the user record instance. Once the task records areretrieved, then the view is rendered by server process 216 for outputvia user interface 152 resulting in the example of FIG. 13. To store thedata in the local database, the operating system 212 may run the serverprocess 216 upon receiving data from the server 130 so that the serverprocess 216 may parse the records received from server 130 and storethem in local database 154.

In yet another embodiment, for example, the database 154 may store onlylimited data, such as task icons keyed to TASK IDs or task instructionrecords also keyed to TASK IDs, and the remaining data, such as a userrecord for a user's work schedule, may be stored on remote database 140accessed through server 130. In such an embodiment, server process 216requests the user record data from the server 130, which is configuredto send the user record to EMI 112. When server process 216 receives theuser record from server 130, it retrieves the task record 206 for eachTASK ID value in the user record along with associated task icons. As inthe example above, the template, once populated, is rendered for outputto the user, such as output of the view of FIG. 13. Still anotherapproach is for all data for each view to be retrieved from remotedatabase 140 each time a user request is made.

In one embodiment, the system architecture 210 may be configured toemploy an Extended Markup Mechanism (XML) to populate and manage datastored in the database 154. XML is a restricted form of the StandardGeneralized Markup Language (SGML) defined by the InternationalStandards Organization (ISO) standard 8879 (1986). XML 1.0 (Feb. 10,1998) is defined by the World Wide Web Consortium (W3C). XML describes aclass of data entities called XML documents and generally describes thebehavior of computer programs that process these documents. XMLdocuments are made up of storage units called entities that containeither parsed or unparsed data. Parsed data is made up of characters,some of which form character data and some of which form markup. Markupencodes a description of the document's storage layout and logicalstructure. XML provides a mechanism to impose constraints on the storagelayout and logical structure. An XML processor is a program configuredto read and interpret XML documents according to the XML standard andprocess them into a viewable format on behalf of an application program.Each XML document is structured according to a document type definition(DTD) that contains or points to markup declarations that describe aclass of documents. Hyper-text Markup Language (HTML) is anotherderivative form of SGML that may also be employed in the presentinvention.

Also note that XML can provide an interface between the database of thepresent invention and an existing customer database or other commercialsystems available from third party vendors. Other forms of EnterpriseApplication Integration (EAI) or Open Database Connectivity (ODBC)compliant approaches may also be suitable for porting data between thesystem of the present invention and other systems.

In an alternative embodiment, the system architecture 210 may beconfigured to employ Java executable instructions to populate and managelocally stored data in the database 154. Java is a programming languagethat was designed for use in the distributed environment of the Internetand enforces object-oriented programming model. The system architecture210 may run a Java Database Connectivity (JDBC) application forretrieving data from the database 154. JDBC may be employed to encodeaccess request statements in a structured query language (SQL) that arethen passed to a program that manages the database 154. It should beunderstood that the present invention is not limited to the XML or Javaoperating systems, and different or equivalent systems could also beused.

As noted above, EMI 112 may store some user data locally. To demonstrateprocessing performed in architecture 210, an example of an exchange ofmessages 220 involved in requesting a work schedule by a user will bedescribed in context of FIGS. 7 and 8. FIG. 7 illustrates one example ofa message and data exchange wherein a work schedule for a user ispre-stored in the database 154. In such an embodiment, EMI 112 isconfigured to access the database 140 at the server 130 prior toreceiving any work schedule requests from users, such as by requesting adownload of all work schedules in an instance of facility record 204corresponding to the FACILITY ID for the EMI. For example, once EMI 112has retrieved the facility record 204 for a particular day, it maydownload all or some work schedules including tasks to be performed atthe first facility 110 on the particular day.

The user record 202 also includes a field that may contain a message foroutput to the corresponding user. In one embodiment, the MESSAGE fieldis a text field that is either a null value or contains text of themessage to output to the user. If the MESSAGE field is null, then nomessage is pending. Otherwise, the text in the MESSAGE field is outputto the user as part of the screen view for the user. In anotherembodiment, the MESSAGE field is a pointer, CGI script, or other indextype of field that indicates where to obtain the message for output tothe user. The message may be locally stored on local database 154 orserver process 216 may be configured to obtain the message from remotedatabase 140 via server 130.

Another field within user record 202 is a LANGUAGE field that indicatesthe language selected by the corresponding user for instructions andother information. The LANGUAGE field may be null or select one of theavailable languages, which are English, Spanish and Polish in theexample of FIG. 4. If the LANGUAGE field is null, then the user has notselected a language and operating system 212 is configured to retrieve alanguage selection template that is passed to server process 216 forrendering before output to the user interface 152. An example of theresulting view is shown in FIG. 11. Alternatively, no LANGUAGE field maybe provided and the user may be presented with the language selectionview of FIG. 11 at the beginning of each access session. In stillanother alternative, a high level user or administrative user may bepermitted to define the LANGUAGE value for each user.

In FIG. 7, the user interface 152 outputs a graphical interface page,such as the page shown in FIG. 12, to a user to prompt the user forinput of user identification data. In one embodiment, the userauthentication data is a user identifier, such as a USER ID=28. Userinterface 152 receives a user input 222 that specifies USER ID=28. Theuser interface 152 sends USER ID=28 to the operating system 212, asillustrated in data message 224.

When operating system 212 receives USER ID 28, it will retrieve a workschedule template from database 154, as illustrated in messages 226 and227, insert the USER ID value into the template, and pass the templateto server process 216 for population of the remaining data required bythe template, as illustrated in message 228. In the exemplary embodimentillustrated in FIG. 7, the file includes statements and information suchas a script or commands to enable server process 216 to retrieve datafrom the database 154. Server process 216 uses the USER ID value toobtain a user record 202 instance keyed by USER ID=28, as indicated bymessages 229 and 230. When the user record for the USER ID 28 is found,then server process 216 retrieves the task records 206 indicated in theuser record, as indicated in messages 232 and 234.

In the example of FIG. 7, the task records for TASK ID=17, TASK ID=82and TASK ID=92, which were previously downloaded for the USER ID 28, arelocally available in the database 154. The server process 216 processesa template by identifying each statement or information received in thefile and resolving references to other data objects or files that shouldbe incorporated into the template. Based on the TASK IDs indicated inthe user record for USER ID=28, the server process 216 retrieves taskrecords from the database 154 using TASK IDs 17, 82 and 92, asillustrated in messages 232 and 234. At this point of the example, thedata references for the work schedule template for USER ID=28 have beenresolved and the template is fully populated. Server process 216 thenrenders the graphical directives, e.g. mark-up language, and data into adisplay page for output as a view, which is passed to operating system212, as illustrated in 236. Alternatively, the server process may passthe populated template to a separate browser application for rendering.

Alternatively, the server process 216 may obtain either the user recordor task records, or both, from the remote database 140 via server 130.An example of retrieving a user record from server 130 is alsodemonstrated in FIG. 7. Instead of sending query 229 to database 154 forthe user record, or if the query of database 154 fails, then serverprocess 216 sends a query 240 to server 130 through communicationinterface 158. Query 240 identifies the FACILITY ID=131 and USER ID=28.Query 240 is forwarded to server 130 as message 242. Server 130retrieves the user record for USER ID 28 from database 140 and transmitsit as message 246 back to communication interface 158. Alternatively,FACILITY ID=131 may be used to retrieve a facility record from whicheach user's schedule can be derived. The data returned by server 130 isprovided to server process 216 as message 248.

FIG. 8 is an example of an exchange of messages 250 involved inrequesting a work schedule by a user, in which the work schedule isstored remotely at database 140 on the server 130. In FIG. 8, the userinterface 152 receives a user input 252 including user authenticationdata such as USER ID=28. The user interface 152 provides USER ID=28 tothe operating system 212, as illustrated in message 254. The serverprocess 216 receives USER ID=28 via the operating system 212 along witha user work schedule template, as illustrated in message 256. Responsivethereto, server process 216 searches the local database for the userrecord for USER ID=28, as represented in 258. According to the exampleof FIG. 8, local database 154 does not include a user record associatedwith USER ID=28, and, thus, returns a FAIL message 260 to the serverprocess 216. Responsive thereto, the server process 216, in thisembodiment, sends the operating system a message 262 including USERID=28 indicating that a work schedule for the user should be retrievedfrom the server 130. When the operating system 212 receives message 262,the operating system 212 retrieves a facility identifier (FACILITYID=131) from the storage 156, and establishes a communication link withthe server 130 via the communication interface 158. The operating system212 sends a first message M1 264 including FACILITY ID=131 and USERID=28 via the communication interface 158 to the server 130.

When the server 130 receives the first message 266, the server 130retrieves from the database 140 a user record associated with USERID=28. As discussed above with respect to FIG. 4, the user record forUSER ID=28 includes a work schedule indicating that the user has beenassigned the tasks having TASK ID values 17, 82, and 92. Further, theuser record indicates that the user should be given instructions inEnglish, and that the user should be provided an instruction recordassociated with each task. In one alternative embodiment, the server 130constructs, for example, an HTML page that includes a task icon for eachtask to be performed along with textual data relating to an instructionfor the task in English. The HTML page is then incorporated into amessage M2 268 that is returned to the communication interface of EMI112, which forwards message 268 to the operating system 212. Operatingsystem 212 may pass the HTML page of the message to server process 216for rendering or may pass the message to a browser application forrendering. The rendered page illustrating the task icons andinstructions is then passed as message 270 to the user interface foroutput to the user. The resulting work schedule view may resemble FIG.13.

With regard to FIG. 13, a user completing the tasks identified in thework schedule view or a supervisory user may update the status of thetasks. FIG. 9 is a message flow diagram illustrates an example of amessage exchange 270 between EMI 112 and central management server 130for updating a task record for a task. Initially, as described above,EMI 112 receives a user input 272 from a first user including userauthentication data such as a USER ID=28. Subsequently, EMI 112generates and sends to server 130 a first message (M1) 274 including afirst work schedule request. According to an exemplary embodiment,message 274 includes a user identifier (USER ID=28) and a facilityidentifier (FACILITY ID=131). When server 130 receives message 274,server 130 retrieves from database 140 a work schedule for the userassociated with USER ID=28, as illustrated in 276. According to anexemplary embodiment, server 130 authenticates the user before providinga work schedule to EMI 112. Alternatively, EMI 112 may be configured toauthenticate the user prior to sending any messages to server 130 usingauthentication data stored in local database 154. According to theexample illustrated in FIGS. 4 and 9, the user record 202 includes anumber of task identifiers (17, 82, 92) associated with tasks to beperformed by the user at the facility associated with the FACILITYID=131. Server 130 retrieves from database 130 task records 206including task icons and task instructions based on the task identifiersspecified in the user's work schedule.

Subsequently, server 130 generates and sends to EMI 112 a second message(M2) 278 including a work schedule for the first user. The secondmessage 276, in this embodiment, includes task icons for tasks 17, 82,and 92 as well as task instructions. When EMI 112 receives the secondmessage 278, EMI 112 displays the work schedule to the first user, asillustrated in 280.

As mentioned in the preceding paragraphs, a user may update a status ofeach task in a user's work schedule. To initiate a subsequent loginsession by the first user, EMI 112 receives a second user input 282 fromthe first user. The user input includes authentication data for thefirst user (USER ID=28). According to this exemplary embodiment, whenEMI 112 receives the second input 282 from the first user, EMI 112generates and sends to server 130 a third message (M3) 284 including atask status update request. Third message 284 includes userauthentication data (USER ID=28) and the facility identifier (FACILITYID=131). When server 130 receives the message 284, server 130 retrievesfrom database 140 the task records for the user's work schedule asindicated by the user record for USER ID=28. Using the task identifiersfrom the user record, server 130 accesses task icons for each task aswell as task update icons that will be described below in greaterdetail.

Subsequently, server 130 generates and sends a fourth message (M4) 288including a task status update response. Fourth message 288 includestask update icons for each task specified in the user work schedule.When EMI 112 receives fourth message 288, EMI 112 displays task updateicons to the user, as illustrated in 290. FIG. 16 illustrates an exampleof a task update view screen that may be displayed to the user alongwith task status update icons. The first user may update a status ofeach task assigned to the user based on, for example, a completionstatus of each task. EMI 112 receives task status update input from theuser, as illustrated in 292. When the first user completes the taskstatus update, EMI 112 generates and sends to server 130 a fifth message(M5) 294 including a task status update request message. The fifthmessage 294 includes user's identification data (USER ID=28), thefacility identifier (FACILITY ID=131), and task update data received viathe task status update input 292. When server 130 receives the fifthmessage 294, server 130 updates status of each task specified in thefifth message 294, as illustrated in 296. The process of updating taskrecords will be described in greater detail below.

In an alternative embodiment, a user may log in to server 130 of thesystem using a fixed position EMI 112 to obtain a work schedule, but thework schedule and instructions are downloaded to a portable device foruse by the user. The portable device may take a variety of formsincluding Personal Information Devices, such as the Palm Pilot deviceoffered by Palm Computing, or a portable computer. The user is able toview the downloaded task icons and instructions as needed and to updatethat status of the tasks. The user then synchronizes the portable devicewith the fixed position EMI 112, which receives the USER ID and updatedstatus data from the portable device and then transmits the updatedstatus data in the manner described above.

Further, as illustrated in FIG. 9, EMI 112 may receive a user input 298from a second user. The second user may be presented with a login screensuch as that shown in FIG. 17. The user input 298 may include user'sidentification data, such as USER ID=30. When EMI 112 receives theuser's identification data, EMI 112 generates and sends to server 130 asixth message (M6) 300 including USER ID=30 and the facility identifier,FACILITY ID=131. When server 130 receives sixth message 300, server 130retrieves from database 140 a work schedule for the user associated withUSER ID=30, as illustrated in 302.

According to an exemplary customer record illustrated in FIG. 5, theuser having USER ID=30 is a supervisory user that supervises tasks forthe facility corresponding to FACILITY ID=131, including those tasksperformed by the first user having USER ID=28. Based on the customerrecord of FIG. 5, server 130 generates and sends to EMI 112 a seventhmessage (M7) 304 including a task status report for all tasks forFACILITY ID=131. The task status report may include tasks scheduled forcompletion by the second user or supervisory user, such as inspectiontasks. The seventh message 304 includes task icons for tasks scheduledto be performed by users supervised by the second user. Thus, in thisexample, the seventh message 304 includes task icons 17, 82 and 92associated with the user having USER ID=28. See FIGS. 19 and 20 forexamples of screen views that display work schedules for the facility.In one embodiment, the seventh message 304 may also include task statusicons that the supervisory user may use to change the status of eachtask associated with the user having USER ID=28 as well as tasksscheduled for other users and the second user. See FIG. 21 for anexample of a screen view that includes icons for changing the status oftasks.

When the EMI 112 receives the seventh message 304, EMI 112 displays taskicons to the supervisory user. The supervisory user may then use thetask icons to change the status of each task displayed on the EMI unit112. When EMI 112 receives user's input, as illustrated in user input308, EMI 112 generates an eighth message (M8) 310 including task statusupdate data received from the supervisory user. The eighth message 310further includes FACILITY ID=131, USER ID=28.

When the server 130 receives the eighth message 310 from EMI 112, theserver 130 updates the status for the tasks based on the task statusupdate data received from EMI 112.

In one embodiment, the eighth message takes the form of a CGI scriptthat is sent when the second user selects a status input box, such asthe status input boxes shown in FIG. 21. Many of the user inputsindicated above may also be implemented as CGI scripts generated throughuser input to, for example, an HTML page. Alternatively, the seconduser's inputs may be made in batches that are sent at the direction ofthe second user. For instance, the second user may update the status ofseveral tasks before selecting a send box to cause the eighth message tobe sent.

FIGS. 10A, 10B and 10C are block diagrams illustrating three exemplaryembodiments for the EMI unit 112 in accordance with alternativeembodiments of the present invention. The EMI units illustrated in FIGS.6A-6C are fixed location user interface units. However, it should beunderstood that different configurations for EMI units are alsopossible. FIG. 10A illustrates an embodiment of a stand-up EMI unit 314including a touch screen interface 316 that enables a user to request awork schedule, view task-icons scheduled for the user, or update taskstatus, as will be described in greater detail in reference tosubsequent figures. FIGS. 10B and 10C illustrate two embodiments ofwall-mount EMI units 318 and 322 also including touch-screen interfaces320 and 324, respectively. In one embodiment, the EMI units 314, 318 and322 may include a touch, voice, movement activation mechanism, or acombination thereof. Further, the EMI units may include a panic buttonenabling an instant communication with a system operator at a callcenter. To enable the communication with a system operator, an EMI unitmay include a voice/video input/output device enabling a voice/videocommunication between a user and a system operator.

In one embodiment, when the EMI unit 112 is activated, the EMI unit 112establishes a communication link with the central management server 130.FIG. 11 illustrates an exemplary language selection dialog box 300 thatmay be displayed to a user on the touch-screen 112 upon establishing acommunication link with the central management server 130.Alternatively, the dialog box 330 may be displayed to a user uponactivating the EMI unit 112. In such an embodiment, a communication linkbetween the EMI unit 112 and the central management server 130 may beestablished only upon detecting a selection input from a user.

The language selection dialog box 330 illustrates three languageselection icons 332, 334 and 336 for a first, second and third language,respectively. It should be understood that more or fewer languageselection icons could also be used, and the present invention is notlimited to three language selections icons. A language selection iconmay include a graphical icon such as, for example, an icon illustratinga national flag. Alternatively, a language selection icon may include atextual icon including a word, such as ‘hello’ in a language associatedwith the language selection icon.

In one embodiment of the present invention, each user is prompted toselect a language to initiate a login and the selected language is thenused to determine the language for subsequent displayed pages. Forexample, if the user selects English, then the text and icons ofsubsequent pages will be presented to the user in English. If the userselects another language, then the content of subsequent pages would bepresented in that language. This may require that many of the messagesexchanged with server 130 and searches and references to data objects inboth local database 154 and remote database 140 may require theinclusion of an indication of the selected language so that icons andtext corresponding to that language may be provided for incorporationinto pages displayed to the user. Alternatively, the selected languagemay be stored as part of a user's user record, as illustrated in FIGS. 3and 4 and discussed above, and used to determine the language used fortext displayed to the user. Hereinafter, it is assumed that the user hasselected an English language icon.

In this embodiment, once a user selects one of the language selectionicons, a login page is displayed on the touch screen 112 of the EMI unit112. FIG. 12 illustrates an exemplary login dialog box 400 that may bedisplayed to a user at the EMI unit 112. The dialog box 400 illustratesten selection icons depicting a numerical keypad including numbers 0-9and a “Start Over” selection icon. The dialog box also includes a“Check-In” selection icon 402 and a “Check-Out” selection icon 404.According to one embodiment, once a user enters a user identificationnumber via the keypad displayed to the user on the touch screen 112, theuser may select the “Check-In” selection icon 402 to view a userschedule. The selection of the “Check-In” selection icon 402 initiatesthe process of authenticating the user by the central management server130, sending an icon-based schedule to EMI unit 112, and displaying theicon-based schedule to the user, as described in greater detail above.

Further, according to an exemplary embodiment, a user may select the“Check-Out” selection icon 404 to update a status of each task in auser's schedule, as will be described in reference to subsequentfigures. Alternatively, the dialog box 400 may include a single“Check-In/Check-Out” selection icon. In such an embodiment, the centralmanagement server 130 may make a determination of whether a workschedule or a task update page should be provided to a user at the EMIunit 112 based upon a stored state for the user. For example, when theuser first logs in on a given date, he is presented with the workschedule page. For subsequent login sessions on the given date, the useris presented with a task update page. Other embodiments are possible aswell without departing form the spirit of the invention. The dialog box400 illustrated in FIG. 12 further includes a “Go Back” selection iconenabling a user to return to the language selection icon dialog box 330.

When a user enters a user identification code and selects the “Check-In”icon 402 via the touch screen 112, the user is authenticated. In oneembodiment, the EMI unit 112 sends the user identification code to thecentral management server 130, and the central management server 130 maybe configured to authenticate the user. In addition to the useridentification number, the EMI unit 112 may send a value that identifiesthe location of the EMI (e.g. FACILITY ID=131) to convey the user'slocation to the central management server 130. In such an embodiment,the central management server 130 may determine whether the user shouldbe given access to the first facility 110, for example. For example,server 130 may check a facility record 204 shown in FIGS. 3 and 4 todetermine if the WORK SCHEDULE for the present date and facilityincludes a task assigned to the USER ID for the user attempting to loginfrom the EMI at the facility. The customer record 208 may also beaccessed to determine whether a user is permitted access to workschedule information for a given FACILITY ID value. In this embodiment,the FACILITY ID value for each facility is unique and is stored internalto the EMI. The EMI provides the FACILITY ID data for all messages tocentral management server 130 so that a user cannot override theFACILITY ID value in order to gain unauthorized access to the workschedule information. In other embodiments, the user may be able toprovide the FACILITY ID value so that a user with a more nomadic workassignment may check for scheduled tasks at other facilities.

If the user is not authorized to access the first facility 110, or theuser should be at some other facility, the central management server 130may send an information message to the EMI unit 112, and the message maybe displayed to the user. For example, the message may instruct the userto re-enter a user's identification number. Alternatively, if thecentral management server 130 determines that a user is scheduled toperform tasks at a different location, an information message sent fromthe central management server 130 may include instructions for a user tomove to a different location or a different facility. In addition, adetermination by server 130 that a faulty login has occurred may cause amessage to be generated and sent to another user, such as by insertingtext into a MESSAGE field of the user record for the other user. Thisother user may be a supervisory user or an administrative user so thatthey can be alerted to the need for corrective action, such asreassigning tasks to other users, contacting the user causing the faultylogin, or contacting security to determine who has caused the failedlogin.

If the central management server 130 successfully authenticates theuser, the central management server 130 retrieves a user record 202having a work schedule from the database 140. The central managementserver 130 may use either USER ID or USER ID along with FACILITY ID toretrieve a work schedule for the user. The central management server 130subsequently sends the schedule to the EMI unit 112, and the schedule isdisplayed to the user via the touch screen 112.

FIG. 13 is an exemplary display page and dialog box 500 illustrating anexemplary icon-based schedule that may be displayed on the touch screen112 to a successfully authenticated user. The display page 500 includesfour task icons 502, 508, 514 and 520. However, it should be understoodthat a user schedule may include more or fewer tasks scheduled to beperformed by a user at any given day. If the number of tasks scheduledfor the user exceeds a number of tasks that can be displayed on thetouch screen 112, the user may select a “View Next Page” icon 526 toview a next page of the scheduled task icons. The variety of alternativeapproaches may be taken for the display page, including the use of ascroll bar for use in navigating and viewing a page displaying taskicons. As illustrated in FIG. 13, each task icon may include a graphicalrepresentation of a task, a short written description of the task, orboth. For example, the task icon 502 defines a task location (anexterior entrance), and a task description (clean exterior). Further,the task icon 502 includes a graphical representation of the task.

In addition to the description and graphical representation for eachtask, two additional icons, a task location icon and a help icon, areassociated with each displayed task icon. In the embodiment illustratedin FIG. 13, for example, icons 504, 510, 516 and 522 illustrate tasklocation icons, and icons 506, 512, 518 and 524 illustrate help icons.It should be understood that the illustrated icons are only exemplary,and the present invention is not limited to these icons. Different orequivalent icons could also be used.

A task location icon, if selected by a user, invokes from the centralmanagement server 130 a location record that is displayed to a user viathe touch screen 112. In an alternative embodiment, when the centralmanagement server 130 sends a work schedule to the EMI unit 112, thecentral management server 130 sends help and location records for eachtask specified in the schedule. In such an embodiment, the help andlocation records may also be stored in the database 154 on the EMI unit112 either temporarily or long-term. In addition to task iconsillustrated in FIG. 13, if the EMI unit 112 includes a built-in or astandby printer, the dialog box 500 may include a “Print” icon enablinga user to print the user's work schedule or any other screen snap shotdisplayed on the touch screen of the EMI unit 112.

FIG. 14 is an exemplary dialog box 600 illustrating an exemplarylocation map 602. Referring back to FIG. 13, the exemplary dialog box600 may be displayed on the touch screen 112 upon selecting by a user atask location icon 516. The user may return to the dialog box 500 byselecting a “Go Back” icon 604. Selecting the task location icon 516causes the task record corresponding to the task to be accessed eitherin local database 154 or at remote database 140. Task record 206,illustrated in FIGS. 3 and 4, includes a MAP field that either containsmap or directional information for the location where the task is to beperformed or contains a reference to a file, such as a graphical file,that contains the map or directional information. The map or directionalinformation is retrieved and then rendered for display to the user, asillustrated in FIG. 14.

Referring back to FIG. 13, when a user selects a “Help” icon, a taskinstruction record is displayed on the touch screen interface 112. FIG.15 is an example of a display page 700 illustrating an exemplary taskinstruction record. An instruction record may include a number of imageicons depicting task instructions as well as written instructions.Similarly to the proceeding figures, the dialog box 700 includes a “GoBack” icon 702 that may be selected by the user to return to the dialogbox 500. Selecting the task help icon 512, for example, causes the taskrecord corresponding to the clean restroom task to be accessed either inlocal database 154 or at remote database 140. Task record 206,illustrated in FIGS. 3 and 4, includes an INSTRUCTION structure thateither contains instructional information for the task to be performedor contains a reference to a file, such as a graphical file, thatcontains the instructional information. The language earlier selected bythe user will determine the language in which the instructions will beoutput. Thus, the INSTRUCTION structure of task record 206 is shown ashaving three subattributes ENGLISH, SPANISH and POLISH that contain orindex instructional data in the corresponding language that relates tothe task. The instructional information in the selected language isretrieved and then rendered for display to the user, as illustrated inFIG. 15.

Referring back to FIG. 13, after a user views his/her work schedule, theuser may select a “Goodbye” icon 528 that automatically logs out theuser from the system.

According to an exemplary embodiment, a user updates a status of eachtask in a user's schedule via the EMI unit 112. To do that, a user mayfirst access the EMI unit 112 as described in reference to FIGS. 11 and12. Referring back to FIG. 12, to update a task status, the user mayselect the “Check-Out” icon 404 that may trigger a display of a taskstatus page with dialog boxes on the EMI unit 112. FIG. 16 illustratesan exemplary task status update status page 800. The task status updatepage 800 illustrates dialog boxes that may be displayed to the userassociated with the work schedule illustrated in FIG. 13. In addition tothe task icons from FIG. 13, the dialog box 800 includes two statusicons for each task. The two status icons for each task include a “Done”status icon, such as icons 804, 810, 816 and 822, and a “Not Done”status icon, such as icons 806, 812, 818 and 824. It should beunderstood that the present invention is not limited to using two statusicons, and more, fewer, different or equivalent status icons could alsobe used. Also, the status icons may reflect the current status of eachtask and allow the user to change the status by selecting a status iconcorresponding to a different status for each task, such as selecting“Done” icon 804 for task icon 802.

Further, as illustrated in FIG. 16, the dialog box includes a “View NextPage” icon 828 that allows a user to view a next page of task icons. Inone embodiment, the user may update the status of several tasks via thetouch screen on the EMI unit 112 by selecting one of the task iconsdisplayed to the user. Subsequently, when the user logs out of thesystem by selecting a “Goodbye” icon 826, an update message includingtask update information for the updated tasks is sent to server 130,which responds by updating the task status for each updated task indatabase 140. According to an another embodiment, when the user updatesthe status for each task, the EMI unit 112 generates a task updatemessage, such as a CGI script, including task completion data for eachtask updated by the user. Then, the EMI unit 112 sends the task updatemessage to the central management server 130, and the central managementserver 130 updates a status of each task in the user's work schedule inremote database 140 based on the task completion data received in thetask update message, as will be later described in greater detail.

Further, according to an exemplary embodiment, the system 100 allows asupervisory user to request a work status report from the centralmanagement server 130. In one embodiment, the supervisory user may loginvia the EMI unit 112 as described in reference to FIGS. 11 and 12. Oncethe central management server 130 authenticates the user as asupervisory user, the central management server 130 sends a workschedule generated for the supervisory user as well as work schedulesfor the crew users managed by the supervisory user. The supervisory usermay view the work schedules on the EMI unit 112.

In addition to viewing his own work schedule, a supervisory user mayrequest from the central management server 130 a work status report forthe users working under the supervisory user. The supervisory user mayrequest a work status report via the EMI unit 112. In one embodiment,the supervisory user may be presented with input page 900 in FIG. 17 toinput his/her identification number. The login information is receivedby EMI 112 and sent to server 130. A supervisory or administrativedisplay and dialog page 1000, shown in FIG. 18, may then be presented tothe supervisory user at EMI 112. Display page 1000 includes dialog boxes1012, 1014, 1016, 1018, 1004, 1006, 1008 and 1010 that permit thesupervisory user to obtain a variety of information and perform avariety of functions. For example, the supervisory user may use dialogbox 1012 to obtain a work schedule for the facility. This request isreceived by the central management server 130, which responds by sendinga work status report to the EMI unit 112. The EMI unit 112 responsivelydisplays the received work status report to the supervisory user. In oneembodiment, the supervisory user view the work status report via adisplay page similar or identical to the page illustrated in FIG. 19.

As noted above, according to one exemplary embodiment of the presentinvention, the supervisory user may change a status for each task in thestatus report. For example, the supervisory user may change a status foreach task from “Done” to “Not Done,” which may constitute a disapprovalor rejection of the task approval, and vice versa. Responsive todetecting the change in the task status, the EMI unit 112 is configuredto incorporate the changed status for the selected tasks into a taskupdate message that is sent to the central management server 130. Whenthe central management server 130 receives the task update message fromthe EMI unit 112, the central management server 130 updates the statusfor each task in the database 140 based on the changed status datareceived from the EMI unit 112.

According to one embodiment that will be described in greater detailbelow, the central management server 130 tracks and updates taskcompletion at the first facility 110 using the work schedule datagenerated for the first facility 110 and task update messages receivedfrom the EMI unit 112. For example, if a user completes a task andupdates a task's status to “Done” and, further, if a user's supervisordoes not change a task status to “Not Done,” the central managementserver 130 may be configured to update a STATUS field, shown in FIGS. 3and 4, in a task record 206 stored in the database 140 to a taskcompleted state. Alternatively, the central management server 130 mayupdate a task status indicator to a “task not completed” state that maysubsequently trigger the central management server 130 to reschedule orclose the task. A USER ID field may be associated with the STATUS fieldof the task record 206, as shown in FIGS. 3 and 4, that is set to theUSER ID value of the user who updates the task status or that identifiesthe system processing of server 130 as having updated the STATUS field.This is reflected in the example data of FIG. 20.

As touched upon above, in one embodiment of the present invention, asupervisory user, such as a facility manager or store manager, mayaccess the EMI unit 112 to view the work schedule and progress at thefirst facility 110. For example, the facility manager may be givenaccess to the entire daily task list for the first facility 110including a status for each task scheduled for the first facility 110.Further, the facility manager may view “check-in” and “check-out” timesfor each user, thus, enabling the facility manager to determine dailyattendance. Further, according to an exemplary embodiment, the facilitymanager may also change a status for each task, thus, triggering the EMIunit 112 to generate and send a status update message to the centralmanagement server 130.

Further, according to an exemplary embodiment, the central managerserver 130 provides additional features that may be accessible to usersusing an access device such as a personal computer or a mobile devicesuch as a personal digital assistant or a mobile telephone havingweb-browsing capabilities. According to an exemplary embodiment, a usermay access the central manager server 130 and view a web page to viewwork schedules and observe the current work status. A supervisory usermay also be enabled to place a work order, or view site performancestatistics or staff data. FIG. 17 provides an example of a display pageillustrating an exemplary login display page 900 that may be used forweb access. Using the dialog boxes of display page 900, an existing usermay access site records using the user's identification number.

As noted above, in one embodiment of the present invention, when a userlogs in using his/her identification number, the central managementserver 130 determines the user's level of access to a hierarchy of dataassociated with customer record 208 shown in FIGS. 3 and 5. Based on auser's hierarchy level, the user is given an access to a predeterminedset of facility records. For example, display access box 1002 reflects ahierarchy of facilities for a customer based on the customer record dataof FIG. 5. The ACCESS data structure of the customer record indicatesthe USER ID values for user's who have access to data for the customer.A LEVEL field indicates the level of access that the corresponding useris permitted.

In the example of FIG. 5, USER ID=30 is associated with LEVEL=131.Therefore, server 130 permits the user with USER ID=30 to have access tothe data for the facility having FACILITY ID=131, which includes thework schedules indicated in the facility record 204 for the facility.However, the user with USER ID=30 is restricted from accessing the datafor other entities at the same level of the data hierarchy, e.g. anyother facility, or data for entities higher up in the hierarchy, e.g. aregion or the customer as a whole. To continue the example, USER ID=56is associated with LEVEL=110, which corresponds to REGION ID=110. Server130 therefore permits the user with USER ID=56 to have access to thedata for the region corresponding to REGION ID=110, which includes thefacilities having FACILITY ID values 131, 133 and 134, but not to thedata for other regions, such as REGION ID=111 or 112, or for thecustomer as a whole. Similarly, USER ID=88 is associated with LEVEL=355,which corresponds to CUSTOMER ID=355 and permits the user to have accessto all data for the customer, but not to the data for other customers.The hierarchy of data is illustrated in display box 1002 of FIG. 18,where users having varying levels of access may be permitted to see theentire hierarchy or may be restricted to only seeing the portion of thehierarchy to which they have access.

One aspect of this feature of the present permits multiple customers tobe supported by server 130 while maintaining the security of eachcustomer's data.

The display page 1000 further includes a number of exemplary selectionicons such as a staff icon 1004, a work icon 1006, an inspection icon1008 and an administration icon 1010. FIG. 18 illustrates an embodimentin which the user has selected the work icon 1006 and, thus, the dialogbox 1000 includes a number of work sub-icons such as a work calendaricon 1012, a work order search icon 1014 and a work order request icon1016. If a user selects the work calendar icon 1012, the centralmanagement server 130 retrieves from the database 140 a calendar, whichallows the user to view all work orders and task records that arescheduled for a specific facility. In the embodiment illustrated in FIG.18, a user with access to a particular facility may view a work calendarfor the facility by selecting the work calendar icon 1012.

FIG. 19 illustrates an exemplary work calendar 1100 for a user withfacility level access. As illustrated in FIG. 19, a user may select amonth and a year to view a work calendar for each day in the selectedmonth. Further, the user may select an icon associated with any task inthe work calendar to view a detailed history record for the task.According to an exemplary embodiment, the user may access the daily workschedule for the facility. Alternatively, a user may be permitted toview his current work schedules spanning for several days via the EMIunit 112 displaying the work calendar 1100 of FIG. 19.

Referring back to FIG. 18, the work order search icon 1014 allows a userto access a search engine configured to search work orders using, forexample, a work order date. FIG. 20 is a display page 1200 illustratingan example of a detailed work order record for an escalator cleaningtask at a facility known as “Store 1 b” constructed, according to oneembodiment of the present invention. The work order record enables auser to view the progress of a task. As illustrated in FIG. 20, anescalator-cleaning task was scheduled by the central management systemserver 130 on August 21, and the task was tagged as “Due” on September10. The task record further indicates that the task record was opened onan EMI unit at the “Store 1 b” location on September 10 and thensuccessfully completed and approved. The task was then approved andclosed by the central management system 130.

Referring back to FIG. 18, the work order request icon 1016 enables auser to enter new work orders including tasks to be performed at apredetermined facility. For example, a supervisory user may add a taskto a facility record and to a user record in order to schedule the taskfor completion by the user corresponding to the user record. Otherembodiments may permit the supervisory user to identify the task as aone time only task or a recurring task that is regularly scheduled byprocesses in server 130.

A user may also access staff records by selecting the staff icon 1004illustrated in FIG. 18. Similarly to the embodiment described inreference to the work icon 1006, when a user selects the staff icon1004, the user may be given an access to a number of staff sub-iconssuch as a staff performance icon, a staff list icon, a staff complianceicon, a staff work status icon, a staff work status trend icon, a staffwork status ranking icon, or a staff shift assignment icon. Based on anicon selection, a user may be given access to a predetermined set ofrecords. For example, if a user selects a staff performance icon, theuser is given an access to staff performance records.

According to an exemplary embodiment, the central management server 130generates staff performance records based on details about the percentof work orders cancelled, rescheduled, or completed. The staffperformance records may then be compiled for each facility level. Forexample, a staff performance record may be compiled for a predeterminedfacility location or a predetermined region including multiplefacilities, and a user with a predetermined access level may, forexample, request an overall staff performance record for a predeterminedfacility location, region or country. Alternatively, the user mayrequest a performance record for a predetermined user. In oneembodiment, a performance record may be provided to a user as a bargraph or a line chart illustrating an overall performance for a facilityor a staff member.

Additionally, by selecting the staff icon 1004, the user may view workstatus trends and work status ranking records for all staff members at apredetermined facility level or, alternatively, for individual staffmembers. A work status trend record may include a graphicalrepresentation of the work status trends, and may take a form of a linechart graph or a bar graph. For example, a work status trend graph mayillustrate a percentage of tasks that have been cancelled, rescheduled,or completed by a predetermined staff member or a crew at apredetermined facility or at a group of facilities. Similarly, a workstatus ranking record may also include a graphical representationrecord. For example, a work status ranking graph may illustrate a rankof a predetermined facility compared to other facilities in terms of aspecific task condition such as a number of task cancelled orrescheduled at a predetermined facility compared to other facilities,for example. Referring back to FIG. 18, the central management server106 may generate a work status ranking graph for all stores in a region,for example, and a user may request a work status ranking graphillustrating an overall completion or cancellation of scheduled tasks ata predetermined facility compared to other facilities. According to anexemplary embodiment, the central management server 130 may dynamicallygenerate work status ranking and trend records based on a user'sselection of a facility level.

The inspections icon 1008, when selected, invokes inspections recordssuch as inspections data entry records. FIG. 21 is an exemplary dialogbox 1250 illustrating an inspection record. The inspection recordindicates task/work order inspection information for each task scheduledfor the facility. As illustrated in FIG. 21, the dialog box includesinformation whether an inspection has been performed for a predeterminedtask or a group of task as well as an inspection status such as passedor failed, and comments. The comments may be accessed by selecting a“comments” icon illustrated in FIG. 21.

Referring back to FIG. 18, the snapshot icon 1018, when selected, mayinvoke a work schedule to be performed by a user.

Further, according to an exemplary embodiment, the central managementserver 130 may be configured to optimize the operation of a facility.The central management server 130 may provide preventive maintenanceservices to customers having one or more facilities managed by thecentral management server 130. In one embodiment, the preventivemaintenance may include scheduling regular inspections for a facility topinpoint problems before they occur. For example, the management server130 may schedule making repairs on a planned basis to avoid unexpectedbreakdowns.

In one embodiment, the central management server 130 may be configuredto schedule a preventive maintenance task to be performed at facility110, for example. In one embodiment, the server 130 may send an alertmessage to a user for which the task has been scheduled to alert theuser that a new preventive maintenance task was scheduled. When the useraccesses EMI 112, the user will be alerted to the added task and mayview the scheduled preventive maintenance task. Alternatively, asupervisory user may be alerted to the added task and the supervisoryuser may then assign the task to one or more other users. Alternatively,the user may place a new work order for the preventive maintenance task,and the server 130 may schedule one or more users to perform thepreventive maintenance task at the first facility 110. A preventivetask's status may be updated and provided to a user via EMI 112.Similarly to other tasks, the server 130 may keep track of a preventivemaintenance task's status and alert supervisory user if a task status islate.

With regard to alerts, in one embodiment of the present invention,alerts may be escalated for a variety of reasons. For example, if a taskhas been scheduled for completion by a first user and the task has notbeen completed by a first deadline, e.g. a given time or date, then thestatus of the task may be updated to overdue by the system, e.g. server130, and the first user may be alerted to remind him that the task hasnot yet been completed. The alert may appear as a text message insertedinto the MESSAGE field of the user record 202 for the first user.Alternatively, a supervisory user may be alerted when the task isupdated to overdue or the supervisory user may be alerted after the taskhas not been completed by a second deadline, where the supervisory useris alerted by inserting a text message into the user record 202 for thesupervisory user.

EMI unit—Central Management Server Communications

FIG. 22 is a flow chart illustrating an exemplary method 1300, accordingto one embodiment of the present invention, for providing a workschedule from a central management server to a client device located ata first facility. The exemplary method 1300 will be described inreference to the system architecture 100 illustrated in FIG. 1. However,it should be understood that the exemplary method 1300 is not limited tothe devices shown in FIG. 1 and could be implemented using more, fewer,different or equivalent devices.

Referring to FIG. 22, at step 1302, the central management server 130receives a first set of information defining tasks to be performed andscheduled at the first facility 110. In one embodiment, a user, such asa supervisory user, may place a work order including the first set ofinformation by accessing a web page associated with the centralmanagement server 130. In an alternative embodiment, the user may placethe work order at a call center. A call center staff member may thenaccess the central management server 130 to place a work order requestusing the web-based interface such as illustrated in reference to FIG.18.

In yet another embodiment, the present invention may be linked to anexternal application system that generates electronic work tickets for afacility, which are input to server 130 for assignment and distributionaccording to method 1300. Examples of external applications systems thatmay be suitable for use with the present invention include EnterpriseAsset Management (EAM) systems, Computer Maintenance Management Systems(CMMS), or Computer Aided Facility Management (CAFM) systems. Thepresent invention then distributes the work orders to users forcompletion. The completion data collected by the present invention maythen be sent back to the work order ticket system to provide tracking ofcompletion for the external system.

In still another alternative embodiment, server 130 includes processesfor generating the tasks according to a predetermined schedule oraccording to a set of work rules relating to a customer or regioncorresponding to the facility. The work rules used to generate the workschedules may be customized to each customer, to a region or to afacility. In this way, work rules, such as those provided by an expertsystem, may be used to provide effective work schedule profiles forcustomer facilities. In one embodiment, server 130, at step 1302,determines the tasks to be performed for each facility for a given dateand updates the facility record 204, illustrated in FIGS. 3, and 4, foreach facility to include the TASK ID for each of the tasks to beperformed at the facility. Server 130 may also generate a task record206 for each task to be performed.

At step 1304, the central management server 130 generates a first workschedule for a first user selected to perform the first work schedule atthe first facility 110. In one embodiment, server 130 selects a set oftasks for the first user. The server then updates the user record 202for the first user to include the TASK ID for each one of the set oftasks. The server also updates the facility record 204 for the facilityto associate the USER ID of the user selected to complete a task withthe TASK ID in the facility record.

In one embodiment, prior to generating the first work schedule for thefirst user, the central management server 130 may generate a list oftasks to be performed at the first facility for an approval by afacility user associated with a predetermined hierarchy level. In oneembodiment, a facility manager may be given an access to approve orreject tasks provisioned for scheduling for the first facility 110. Thefacility user may approve tasks to be performed at the first facility110 by accessing a predetermined web page on the central managementserver 130. For example, the central management server 130 may beconfigured to display a list of tasks to be approved by the facilityuser upon authentication of that user. When the facility user approvessome or all tasks to be performed at the first facility 110, then thecentral management server 130 generates the first schedule for the firstuser. In this way, a high level user may control and distribute the workschedules for facilities and the users performing tasks at thosefacilities.

At step 1306, the central management server 130 receives a work schedulerequest for the first user from a client device at the first facility110. According to an exemplary embodiment, the client device is the EMIunit 112. Further, the work schedule request includes useridentification data such as a user identifier, and an EMI identifier,e.g. FACILITY ID, as discussed above. In one embodiment, the workschedule assigned in the user's user record is sent to the client devicefor display to the user. Alternatively, the work schedule generated atstep 1304 may be triggered by a user login. In this approach, the tasksassigned to a facility in a facility record are assigned when userslogin. In this way, higher priority tasks may be assigned to users asthey log in to the system to ensure that the higher level tasks arescheduled for completion before lower priority tasks. For example, tasksmay appear in the facility record 204 in order of priority and assignedin order as users login during step 1306.

At step 1308, the central management server 130 authenticates the firstuser. In one embodiment, in addition to determining whether a user isauthorized to request a work schedule, the central management server 130may determine whether the user should be given an access to a facilitylocation from which the user has requested the work schedule. Thecentral management server 130 may determine the current location of theuser using the EMI identifier that was sent along with the work schedulerequest. Further, the central management server 130 may determinewhether the user should be given an access to the facility locationusing user records stored in the database 140 as well as a work schedulerecord generated for the first user. In an alternative embodiment, themechanism of determining the current location of a user may bebeneficial in an embodiment in which the user is scheduled to perform inone day a number of tasks at different facility locations. In such anembodiment, when the user accesses the central management system 104from a predetermined location, the central management system 104retrieves from the database 140 a partial work schedule for the userincluding tasks to be performed by the user at the user's currentlocation.

At step 1310, the central management server 130 determines whether thefirst user has been successfully authenticated. If the user'sauthentication is successful, at step 1312, the central managementserver 130 sends the first work schedule to the client device (EMI unit112) at the first facility 110. As described in reference to step 1308,if the first user is scheduled to perform tasks at different facilities,the first work schedule sent to the first facility may be a partial workschedule including task scheduled to be performed by the first user atthe first facility 110. Referring back to step 1310, if the first userfails the authentication, the method 1300 terminates.

At any one of steps 1304, 1308 or 1312, server 130 may also includechecking the user record 202 for the user to determine whether a MESSAGEtext field is populated with a message for output to the user. Likewise,either of these steps may include determining whether the user shouldreceive instructions related to completion of the assigned tasks. Forexample, the INSTRUCT field of the user record may be set to yes by asupervisory user, which will cause the instructions for each task to begenerated for the user at the EMI 112. Alternatively, the ERRORCOUNTfield may be checked and, if the value of ERRORCOUNT is greater than apredetermined threshold, then the instructions will be output to theuser. The MESSAGE or instruction data may then be sent to the clientdevice at the first facility along with the work schedule.

FIG. 23 is a flow chart illustrating a method 1400 for requesting andreceiving work schedules at a client device. At step 1402, a clientdevice, such as the EMI unit 112, establishes a communication link witha central management server, such as the server 130. At step 1404, theEMI unit 112 receives the authentication data, such as a USER ID numberfrom a user. In one embodiment, illustrated in reference to FIG. 12, theuser may enter the identification number via a touch-screen interface onthe EMI unit 112. Alternatively, the EMI unit 112 may include a cardreader, a voice recognition device, a keypad, pen-based input device orother means for receiving authentication data from a user.

At step 1406, the client device sends a work schedule request to thecentral management server. In one embodiment illustrated in FIG. 1, theEMI unit 112 sends the request to the central management server 130, andthe work request includes the user's authentication data (USER ID)appended to the EMI identifier (FACILITY ID). At step 1408, the EMI unit112 receives a first work schedule from the central management server130. According to an exemplary embodiment, the work schedule includes anicon-based graphical user interface depicting at least one task of awork schedule to be performed by the first user at the first facility110. At step 1410, the EMI unit 112 displays the icons for the workschedule to the first user, and the method 1400 terminates.

FIG. 24 is a flow chart illustrating a method 1500 for managing taskstatus records on a central management server, such as the centralmanagement server 130. At step 1502, the central management server 130receives from a client device, such as the EMI unit 112, a first taskstatus update message corresponding to a first work schedule associatedwith a first user. Similarly to the method discussed in reference toFIG. 23, the first user may access the EMI unit 112 by inputting his/heridentification data. Subsequently, upon a successful authentication, theEMI unit 112 may display to the first user an icon-based representationof tasks scheduled for the first user along with a number of task statusicons for each task, such as a “Done” or “Not Done” icons, for example.The first user may then update a status of each task displayed on theEMI unit 112 via the touch screen 112 or other data input devices. Whenthe user updates the status of all or some tasks, then the EMI unit 112sends the task status update message to the central management server130.

At step 1504, the central management server 130 updates the status ofeach task specified in the first task status update message receivedfrom the EMI unit 112. According to an exemplary embodiment, the centralmanagement server 130 may retrieve from the database 140 a task record206 for each task specified in the first update message. Further, if thefirst user has completed a task, the central management server 130modifies a STATUS field in the task record from a scheduled to acompleted identifier. Similarly, if the first user has not completed atask, the central management server 130 modifies the STATUS field in thetask record to a task uncompleted identifier. The server 130 may also beconfigured to identify the USER ID of the user who updates the STATUSfield.

At step 1506, the central management server 130 determines whether arequest is received from a second user via the EMI unit 112 for a workstatus update report. According to an exemplary embodiment, a userhaving a predetermined hierarchy (access) level, such as a supervisoryuser, may request a work status report including task status data foreach user being managed by the supervisory user.

Upon a successful authentication of the second user, at step 1508, thecentral management server 130 generates a work status report for thesecond user based on a hierarchy level associated with the second user.For example, if the second user, according to the user records stored inthe database 140, manages other users, then the work status reportgenerated on the central management server 130 includes task status dataassociated with the work schedules for the four other users and thesupervisory user.

At step 1510, the central management server 130 sends the work statusreport to the EMI unit 112. According to an exemplary embodiment, whenthe EMI unit 112 receives the work status report, the EMI unit 112displays the report on the touch screen 112, and the second user maychange a status of each task in the work status report. Similarly to thework schedules, the work status report may also be displayed on the EMIunit 112 in the icon-based format including icons describing specifictasks as well as task status icons such as a “Task Approved” icon or a“Task Rejected” icon, for example. See FIG. 21 for an example of a viewscreen 1250 for updating status for tasks.

At step 1512, the central management server 130 determines whether asecond update message including task update data has been received fromthe second user. In one embodiment, the EMI unit 112 is configured toincorporate the updated status for each task updated by the second userinto a second update message and, further, responsively send the messageto the central management server 130.

When the central management server 130 receives the second updatemessage from the EMI unit 112, at step 1514, the central managementserver 130 updates the status for each task specified in the secondupdate message. In one embodiment, the central management server 130 mayupdate a task completed identifier to a task rejected identifier, or atask completed identifier to a task approved identifier in a taskrecord. Subsequently, the method 1500 terminates.

Note that the server 130 may also be configured to store the USER ID ofthe supervisory user who updates the STATUS field. The server 130 may befurther configured to maintain a history for a task by linking a datastructure that indicates each STATUS change, the USER ID for the user,and the date and time for the status change. FIG. 20 indicates anexample of the resulting update history for a task.

FIG. 25 is a flow chart illustrating a method for receiving task statusdata on a client device such as the EMI unit 112. At step 1602, the EMIunit 1602 queries a first user to update status of each task in theuser's schedule. According to an exemplary embodiment, the first usermay access the EMI unit 112 at the end or during a user's shift byinputting his/her identification data. Subsequently, upon a successfulauthentication of the first user, the EMI unit 112 may display to thefirst user an icon-based representation of tasks scheduled for the firstuser along with a number of task status icons for each task, such as“Done” or “Not Done” icons, for example. See the view screen of FIG. 16for an example of an icon based screen page for a user to update thestatus of the tasks in the user's work schedule.

At step 1604, the EMI unit 112 receives task completion data from thefirst user. The first user may update a status of each task displayed onthe EMI unit 112 via the touch screen 112. When the user updates thestatus of all or some tasks, at step 1606, the EMI unit 112 sends afirst status update message to the central management server 130.According to an exemplary embodiment, the first status update messageincludes the task completion data received from the first user.

At step 1606, the EMI unit 112 sends a first status update message toserver 130, which uses the task completion data from the update messageto update the corresponding task record in remote database 140.

In one embodiment, a second user, such as a supervisory user, may send arequest for a work status report involving the first user's tasks inorder to perform an inspection stage. The second user may have apredetermined hierarchy level (such as a supervisory access level) thatallows the second user to receive the work status report. According toan exemplary embodiment, the second user may request the work statusreport via the EMI unit 112. In such an embodiment, the second user maylogin to the system using a user's identification number and selectingthe “Check-Out” selection icon 404. At step 1608, server 130 receivesthe request for a work status report. In such an embodiment, when thecentral management server 130 successfully authenticates the second useras a supervisory user at the first facility 110, the central managementserver 130 retrieves work status records based on the hierarchy level ofthe second user. For example, if the second user supervises three users,the central management server 130 retrieves the status for tasksassociated with the three users as well as the supervisory user, andcompiles the retrieved records into a work status report that is sent tothe EMI unit 112.

Referring back to FIG. 25, if the EMI unit 112 receives a work statusreport from the central management server 130 at step 1608 and returns awork status report, then, at step 1610, the EMI unit 112 displays thework status report to the second user on the touch screen 112, and thesecond user may change a status of each task in the work status report.Similarly to the work schedules, the work status report may have anicon-based format including icons describing specific tasks as well astask status icons such as a “Done” icon, a “Not Done” icon, for example.

At step 1612, the EMI unit 112 determines whether the second user haschanged status for any task specified in the task status report.According to an exemplary embodiment, the changing of status for a taskmay include approving or rejecting tasks that have been performed by alower hierarchy user or updating a task status to “Done” or “Not Done.”If no input has been received from the second user, the method 1600terminates. However, if the EMI unit 112 detects a status change for anytask, at step 1618, the EMI unit 112 sends a second update message tothe central management server 130. The second update message includesthe changed status for the updated tasks, and the method 1600terminates.

Note that if a second user, e.g. a supervisory user, updates a taskrecord STATUS field from, from a completed state to a not-completed orrejected state, then server 130 may be configured to increment the ERRORCOUNT field of the user record 202 for the first user. Also, the seconduser may access the user record for the first user and set the INSTRUCTfield so that instructions for task completion are automaticallydisplayed to the first user for subsequent work schedule accesses usingEMI 112. This approach provides either automatic just-in-time trainingto the user tasked with completion of a task.

According to an exemplary embodiment, the central management server 130is configured to monitor and update the status of each task scheduledfor one or more users at the first facility 110. The central managementserver 130 may include an integrated clock to trigger status checks foreach scheduled task. The central management server 130 may furtherchange the status automatically for each task. For example, tasks thatare performed each night may be automatically updated to complete by thesystem. On the other hand, tasks that are performed less frequently maybe automatically rescheduled by server 130 for completion on anotherday.

FIG. 26 is a flow chart illustrating a method for updating a status of atask from “Scheduled” to “Due” on the central management server 130. Inone embodiment, tasks that are “Scheduled” are not displayed to theusers to whom the tasks are assigned. The tasks are not output to theuser for completion until the status of the task is “Due”. At step 1702,the central management server 130 retrieves from the database 140 afirst task record associated with a “Task Scheduled” identifier.

At step 1704, the central management server 130 determines whether thetask in the retrieved task record should be updated with a “Due”identifier. In one embodiment, the central management server 130 maymake that determination by applying a number of task due conditions tothe retrieved task record. First, the central management server 130 maydetermine whether the task's date and time in the retrieved task recordis earlier and further whether the task's date and time are not the sameas the current date and time. If the first two conditions are satisfied,the central management server 130 may determine whether the differencebetween a task's scheduled start time and the current system's time issmaller than a predetermined task due time constant provisioned on thecentral management server 130. If the central management server 130determines that the due date status conditions are satisfied, at step1706, the central management server 130 updates a status in theretrieved task record from the “Scheduled” to “Due” identifier.

At step 1708, the central management server 106 determines whether thedatabase 140 includes more than one task record including task scheduledstatus identifiers. If so, the method proceeds to step 1710, where thecentral management server 130 retrieves the next record, and the methodcontinues at step 1704. The central management server 130 may beconfigured to periodically carry out the method 1700. For example, thecentral management server 130 may be configured to schedule a systemdaemon every 45 minutes to perform the method 1700. Further, the centralmanagement server 130 may apply the method 1700 to task records notincluding task scheduled status identifiers, but having a task startdate and time set to an earlier date and time than the current date andtime.

A variety of approaches may be employed in configuring method 1700 in asystem according to the present invention. In one embodiment, the systemmay be configured to run method 1700 to check all task records in thedatabase. In another embodiment, the system may be configured toanticipate the tasks that may be updated in a given time period, e.g.all scheduled tasks, and task records corresponding to those tasks maybe stored on a stack for processing using method 1700. In still anotheralternative embodiment, task records scheduled for completion on a givendate or during a given time period may be linked to a list for upcomingevents that is checked by the system at intervals or in response to atask update message from a user.

Also note that the system of the present invention may be used to managefacilities all over the world and across different time zones.Therefore, times for completion and time-stamping in the system of thepresent invention are preferably expressed in Greenwich Mean Time (GMT)format. A time offset reference value relating the time zone offset fromGMT for each facility may, for example, be included in each facilityrecord to allow tasks for a facility to be converted to a local time fordisplay.

The central management server 130 is further configured to update a task“Due” identifier to a task “Late” identifier. FIG. 27 is a flow chartillustrating an exemplary method 1800 for updating a status of a taskfrom due to late.

At step 1802, the central management server 130 retrieves from thedatabase 140 a first task records including a task marked with a task“Due” identifier. At step 1804, the central management server 130determines whether a first retrieved task record should be updated witha task “Late” identifier. According to an exemplary embodiment, thecentral management server 130 may make that determination by applying anumber of task late conditions to task record data. First, the centralmanagement server 130 may determine whether the task's date and time inthe first task record are earlier and not equal to the current date andtime. If the first two conditions are satisfied, the central managementserver 130 may determine whether the difference between a task'sscheduled start time and the current system's time is greater than atask late time constant provisioned on the central management server130. If the central management server 130 determines that the latestatus conditions are satisfied, at step 1806, the central managementserver 130 updates a status in the retrieved task record from the task“Due” identifier to a task “Late” identifier.

Additionally, the central management server 130 may be configured tosend an alert message upon determining that a task is late. In such anembodiment, at step 1808, the central management server 130 sends analert message to a predetermined user, such as a supervisory user at thefacility at which the task should be performed. For example, the centralmanagement server 130 may first determine a user for whom the task wasscheduled. Then, using the user's records and the facility records, thecentral management server 130 may determine a supervisory user to whomalert messages should be sent for that task. For example, the alertmessage may include pager messages, cell phone messages or e-mailmessages depending on a hierarchy level of the supervisory user andurgency level of the alert. The alert may also be placed in the MESSAGEfield of the user record 202 for the supervisory user. Note that thepresent invention may be configured to generate an alert message basedupon a variety of predetermined state changes and not just a transitionto a late state.

Alternatively, the alert message may be sent to a predetermined set ofusers. The set of users may, for example, be determined by an additionaldata structure that identifies the set of users or through extension ofthe task record for a task or the user record for a user assigned to thetask to identify the set of users to receive the alert message.Similarly, a hierarchy of users for purposes of escalating the alertmessage at intervals may also be derived from the hierarchy of usersdefined in the customer record, through additional data structures, orthrough extension of existing data structures.

At step 1810, the central management server 130 determines whether thedatabase 140 includes more than one task record including tasks markedwith task “Due” identifiers. If so, at step 1812, the central managementserver 130 retrieves a next task record from the database unit 124, andthe method 1800 continues at step 1804. The method continues until thecentral management server 130 evaluates all task records including task“Due” identifiers.

According to the exemplary methods 1500 and 1600 described in referenceto FIGS. 24 and 25, a user associated with a predetermined hierarchylevel may approve or reject tasks performed by other users, thus,triggering a task status change process on the central management server130. Further, the central management server 130 may be configured toclose approved tasks.

FIG. 28 is a flow chart illustrating a method 1900 for updating a task“Approved” identifier to a task “Closed” identifier. At step 1902, thecentral management server 130 retrieves from the database 140 a firsttask record including a task marked with a task “Approved” identifier.At step 1904, the central management server 130 determines whether thefirst retrieved task record associated with the task “Approved”identifier should be closed. According to an exemplary embodiment, thecentral management server 130 may make that determination by applying atask closed condition to task data stored in the first task record.According to an exemplary embodiment, the central management server 130determines whether the task record should be closed by comparing thecurrent system time with a task completion time set in the task record.If the current system time is greater than a task completion timespecified in the first task record, at step 1906, the central managementserver 130 updates the task “Approved” identifier in the first taskrecord to a task “Closed” identifier.

At step 1908, the central management server 130 determines whether thedatabase 140 includes more than one task record including task“Approved” identifiers. If so, at step 1910, the central managementserver 130 retrieves a next task record including a task approvedidentifier, and the method 1900 continues at step 1904. Otherwise, themethod 1900 terminates.

According to an exemplary embodiment, if the central management server130 does not receive task approval or rejection data from a supervisoryuser, the central management server 130 may be configured tosystem-approve and close such tasks. FIG. 29 is a flow chartillustrating a method 2000 for automatically approving a task by theserver. At step 2002, the central management server 130 retrieves fromthe database 140 a first task record including a task marked with a task“Done” identifier. At step 2004, the central management server 130determines whether the task should be approved by the system. Accordingto an exemplary embodiment, the central management server 130 maycompute a difference between the task completion time and the currenttime. Further, the central management server 130 may compare thecalculated time difference with a predetermined closing time periodprovisioned in the database 140 for automatically approving tasks by thecentral management server 130.

If the calculated time period is greater than or equal to thepredetermined time period, at step 2006, the central management server130 updates a task done identifier to a task “Automatically Approved”identifier. The central management server 130 may be further configuredto update a task record including a task “Automatically Approved”identifier with a task “Closed” identifier.

At step 2008, the central management server 130 determines whether thedatabase 140 includes any other task records including task “Done”identifiers. If so, the central management server 130 retrieves a nextrecord, and the method 2000 continues at step 2004. If no additionaltask records are found in the database 140, the method 2000 terminates.

As noted briefly above, the present invention may be interfaced withexternal systems that may, for example, generate work order ticketrecords that are sent to the system according to the present inventionfor assignment, distribution, and display to users. When users updatetask status or the system automatically updates status or reschedules atask, it may be advantageous in some embodiments to configure the systemaccording to the present invention to provide the updated status to theexternal system. Thus, the present invention may be employed to trackand collect status data from distributed users and facilities andprovide the status data as feedback to an external system. For example,in one embodiment of the present invention, the system may be configuredto send a message containing updated status to an external systemresponsive to completion or approval of a task, e.g. at steps 1906 or2006 above.

Further, according to an exemplary embodiment, the central managementserver 130 is configured to reschedule or close uncompleted tasks. Anuncompleted task may be identified in a task record with a task “NotDone” identifier. FIG. 30 is a flow chart illustrating a method 2100 forupdating task records associated with uncompleted tasks. The uncompletedtasks may include tasks associated with task “Cancelled” identifiers,“Open” identifiers, or “Not Done” identifiers.

At step 2102, the central management server 130 retrieves a first taskrecord including an “Uncompleted” task identifier, for example. At step2104, the central management server 130 applies a number of rules todetermine whether the task qualifies for rescheduling or cancellation.According to an exemplary embodiment, one rescheduling rule may includeinstructions for the central management server 130 to determine whetherthe difference between the current time and task completion timespecified in the record is greater than zero and less than or equal to awork completed lead time value provisioned in the database 140. Anotherrule may include instructions for the central management server 130 todetermine whether the difference between the current time and the taskcompletion time is less than zero and further whether the current timeis less than a task start time. According to an exemplary embodiment, ifeither rule is satisfied, the method 2100 proceeds to step 2106.

At step 2106, the central management server 130 determines whether thetask is a routine task. According to an exemplary embodiment, the taskrecord may include an identifier classifying a task as a routine task.If the central management server 130 determines that the task is aroutine task, at step 2108, the central management server 130 updatesthe task identifier to a task “Canceled” identifier and subsequently toa task “Closed” identifier. Referring back to step 2106, if the task isnot a routine task, at step 2110, the central management server 130updates the task identifier to a task “Reschedule” identifier. Accordingto an exemplary embodiment, the central management server 130 may beconfigured to subsequently reschedule the task.

At step 2112, the central management server 130 determines whether thedatabase 140 includes more than one task record with uncompleted taskidentifiers. If so, at step 2114, the central management server 130retrieves a next task record, and the method 2100 continues at step2104. If the database 140 does not include any more records, the method2100 terminates. Similarly to the proceeding methods, the centralmanagement server 130 may be configured to periodically execute themethod 2100.

FIG. 31 is a flow chart illustrating a method 2200 for updating taskrecords associated with task “Reschedule” identifiers.

At step 2002, the central management server 130 retrieves from thedatabase 140 a first task record including a task marked with a task“Reschedule” identifier. At step 2004, the central management server 130determines whether the first task record should be closed. According toan exemplary embodiment, the central management server 130 makes thatdetermination by applying task closed conditions to task data stored inthe first task record. According to an exemplary embodiment, the centralmanagement server 130 determines whether the task should be canceled andsubsequently closed by determining whether the next occurrence of thesame task at a predetermined facility for which the task was scheduledhas a task date and time greater than the current task date and furtherwhether the next occurrence status is not scheduled, due or in process.If the conditions are satisfied, at step 2208, the central managementserver 130 updates the task “Reschedule” identifier to a task “Cancel”and subsequently to a task “Closed” identifier. Otherwise, at step 2206,the central management server 130 reschedules the task by adding thetask to the work schedule in the facility record for the facility andthe user record for a user corresponding to another day.

At step 2210, the central management server 130 determines whether thedatabase 140 includes more than one task record with task “Reschedule”identifiers. If so, at step 2212, the central management server 130retrieves the next task records, and the method 2200 continues at step2204. Otherwise, the method 2200 terminates.

As noted above, one aspect of the present invention pertains tocontrolling the access level of a user within a hierarchy of workschedule and status data. FIG. 32 is a control flow diagram illustratingone embodiment of a process 2230, according to the present invention,for controlling access of a user submitting a work request. Process 2230is entered when a work schedule request is received at step 2232 byserver 130. Alternatively, the request may relate to a status report.The work schedule request includes the USER ID for the user making therequest along with either a FACILITY ID, REGION ID or a CUSTOMER IDdepending upon the level of user and the level of access requested.

At step 2234, server 130 retrieves the customer record 208 correspondingto the FACILITY ID, REGION ID or a CUSTOMER ID in the request receivedat step 2232. Server 130 will search the ACCESS structure of eachcustomer record 208 looking for a match on one of the USER ID, FACILITYID, REGION ID or a CUSTOMER ID, or a combination of these values.

As discussed above, an end user is restricted to access to his own workschedule data. In the example data of FIG. 5, the users with USER ID=34and USER ID=28 have their corresponding ACCESS fields in the customerrecord for CUSTOMER ID=355 set to their own USER ID values. Thus, atstep 2234, server 130 will discover the customer record for CUSTOMERID=355 during its search and, at step 2240, server 130 will limit theaccess of the users with USER ID=34 and USER ID=28 to their own workschedules, which may be obtained from either the facility record for thefacility requested or the user record for each user, along with a checkof the FACILITY ID sent along with the work schedule request to ensurethat the users are logging in from the correct facility.

However, if a higher level user, such as the users with USER ID values30, 56 and 88, login, they are entitled to higher levels of access, asindicated in the ACCESS fields of the customer record 208 for CUSTOMERID=355. A search of customer records at step 2234 will result in thecustomer record for CUSTOMER ID=355 being discovered and retrieved. TheLEVEL value in the customer record for USER ID=30 is 131, whichcorresponds to FACILITY ID=131. Thus, at step 2240, the user with USERID=30 will be permitted to access the work schedule and status data forthat facility, which may be obtained from the facility record forFACILITY ID=131. The LEVEL value in the customer record for USER ID=30is 131, which corresponds to FACILITY ID=131. Thus, at step 2240, theuser with USER ID=30 will be permitted to access the work schedule andstatus data for that facility, which may be obtained from the facilityrecord for FACILITY ID=131. Along the same lines, the LEVEL value in thecustomer record for USER ID=56 is 110, which corresponds to REGIONID=110, which the customer record indicates includes FACILITY ID values131, 133 and 134. Thus, at step 2240, the user with USER ID=56 will bepermitted to access the work schedule and status data for thosefacilities, which may be obtained from the facility records for FACILITYID=131, 133 and 134. To continue the example, the LEVEL value in thecustomer record for USER ID=88 is 355, which corresponds to CUSTOMERID=355. Thus, at step 2240, the user with USER ID=88 will be permittedto access the work schedule and status data for all the facilities underall the regions indicated in the customer record.

Note also that the hierarchy of data available to a user may be providedto that user graphically. For instance, a login by the user with USERID=88 may result in server 130 providing a display such as that shown indialog box 1002 of FIG. 18, wherein the user is able to see folder iconsrepresenting the customer level, region level and facility level. Bycontrast, a login by the user with USER ID=56, corresponding to REGIONID=110, would result in the display of the folder for REGION ID=110 andFACILITY ID=131, 133 and 134 in dialog box 1002. Still further, a loginby the user with USER ID=30, corresponding to FACILITY ID=131, wouldresult in the display of a folder just for FACILITY ID=131. The workstatus data or display of data structure is sent to the user at step2242. Note that the example data folders and structure shown in dialogbox 1002 are based upon the example data shown in FIG. 5.

Note that restricting access to data in accordance with this aspect ofthe present invention allows server 130 to service multiple customers,such as CUSTOMER ID=355 and 441, while maintaining the work schedule andstatus information for each customer in confidence. Also, by permittinga high level of access to a high level user using web access, the highlevel user is able to monitor and communicate with other usersthroughout the hierarchy. For example, a user with access at thecustomer level may broadcast a message to all users performing work forthat customer by inserting a text message into the MESSAGE field of theuser record of each user listed in the customer record for the customer.FIG. 33 illustrates one embodiment of a process 2250 for broadcasting amessage according to this aspect of the present invention. At step 2252,server 130 receives a request for a broadcast message from a high leveluser. At step 2254, server 130 uses either the USER ID of the requestinguser or the USER ID in combination with an identifier, such as CUSTOMERID, REGION ID, or FACILITY ID, that indicates the breadth of thefacilities to which the broadcast message must be sent, e.g. all usersassociated with CUSTOMER ID, all users associated with REGION ID, or alluser associated with FACILITY ID. Using these values, the correspondingcustomer record may be obtained in order to validate user access to therequested facilities. If the user has valid access, then, at step 2256,server 130 collects all the USER ID values in the customer record thatcorrespond to the requested breadth of broadcast and, at step 2258, thecorresponding user records are retrieved. Then, at step 2260, thebroadcast message text can then be inserted into the MESSAGE field ofeach user record. During subsequent login sessions, each user willreceive a display of the content of the MESSAGE field, such as in thedisplay field 530 shown in FIG. 13, for example, and the message isbroadcast to the desired users.

Further, by collecting work status information in accordance with oneaspect of the present invention, feedback may be provided from theactivities of a large number of employees to a high level supervisoryuser. Also, large amounts of data may be conveniently and efficientlycompiled for further processing and analysis. Likewise, the collecteddata may also be useful in benchmarking and for return on investmentanalysis.

The work status information collected from various facilities using thepresent invention may also be used to compare performance data fromdifferent facilities or regions. Access to the performance data may berestricted based on the user level and data hierarchy as describedelsewhere in this specification. Comparison of performance data allowscontractors and suppliers for different facilities to be evaluatedagainst one another. Also, different regions and facilities may beevaluated against one another.

The present invention as described above may also be adapted to tracktime and attendance data for users. Server 130 may be adapted to storethe time when a user logs in or logs out from the system. This data maybe used to maintain employee attendance records and also to measure timefor hourly paid employees.

Also note that the present invention may be adapted to perform automaticinventory management. By collecting work completed status and applyingmodels regarding the consumption of supplies for completion of work, thepresent invention may be employed to automatically reorder suppliesneeded to complete the tasks. For example, if a model indicates that agiven predetermined number of floor waxings for a facility having agiven number of square feet in area may be performed with a given amountof supplies, then server 130 may be configured to automatically generatea work order or a purchase order when the predetermined number ofwaxings has been reached or is about to be reached.

Note that the work schedules discussed above may be more generallyregarded as tasks. For example, the tasks may correspond to specificwork jobs that must be performed or may more generally apply toinspection tasks, equipment checks, or reminder tasks. For example, atask may be defined that corresponds to a delivery of product orsupplies that may be assigned to a user in order to warn the user andallow him to plan for handling the delivery.

Similarly, the present invention is not limited to users who performwork at a particular facility. The teachings above may be adapted toidentify a user based upon a role or function performed by that user.For example, rather than using a FACILITY ID, the user may be providedwith a ROLE ID that corresponds to a facility record or to anotherspecialized data structure that identifies the tasks assigned to theuser. For example, a user may be an electrician who is tasked withreplacing light bulbs at several facilities, not just one. Server 130may be configured such that this user's ROLE ID permits the user toobtain a work schedule for all of his work tasks across facilities for agiven day from any EMI device at any of the facilities that he services.Alternatively, the user may be restricted to seeing just those tasksthat correspond to the FACILITY ID from which the user logs in, but analert message may be provided to remind the user to check for othertasks at other facilities. Overall view of a work schedule may berestricted to a different device that sends the ROLE ID value in a loginmessage to server 130.

Along similar lines, server 130 may be adapted to automatically generatetasks for specialized user by applying, for example, a maintenance orwear model to particular equipment. For example, a use model mayindicate that standard lubrication should be performed on anair-conditioning compressor that has been in use for 1000 hours. Server130 may keep track of when each compressor when into service and itsnumber of hours in use and, when the limit under the model has beenreached, automatically generate a lubrication task for anair-conditioning maintenance user.

In still another alternative embodiment of the present invention, boththe task records and the user records may include a ROLE attribute. Inthis embodiment, tasks may be assigned a ROLE attribute value based uponthe skills or expertise required to perform the task. Likewise, usersmay be assigned a ROLE attribute value based upon the skills orexpertise possessed by the user. In assigning tasks to users, thepresent invention may be configured to assign tasks to users based uponskills by matching the ROLE attribute value of each task to the ROLEattribute value of an assigned user. For example, a task that requiresan electrician to complete may have a ROLE value of “Electrician”.Similarly, a user who is a certified electrician will have a ROLE valueof “Electrician”. When assigning the task to a user, the system willsearch the user records for a user record with the ROLE attribute set to“Electrician” before assigning the task to that user. This functionalitymay, for example, be integrated into step 1304 of FIG. 22 discussedabove. This aspect of the present invention allows the system toautomatically match the available skills of the users with the skillsrequired to complete a given task. This aspect of the present inventionalso allows users to be assigned based upon their skill sets in order tomake efficient use of skilled employees.

Building on one aspect of the present invention discussed above, alertmessages themselves may be treated as tasks. An alert message would bestructured as a task assigned to a user. The user would receive thealert message from server 130 just like any other task when the userlogs in. The user's acknowledgement of the alert message would be anupdate of the status for the task in remote database 140. Failure toacknowledge the alert message could cause server 130 to flag the failureto complete the task and automatically alert another user in thesupervisory/administrative hierarchy. Alternatively, an alert messagetask may be completed simply by virtue of its delivery to the user. Alsonote that the message may take other forms than text, such as graphicalor audio files.

Another aspect of the present invention that was touched on brieflyabove is that the present invention permits tasks to be generated forall members of a specific level of the data hierarchy described above.For example, each user who is a facility manager for a particularcustomer may have the same profile of tasks to be performed or may startwith the same profile and then have it customized for the specific needsof the particular facility. This allows a common profile of tasks to beapplied to a number of entities, e.g. facilities, at the samehierarchical level or to determine a common profile of tasks for abranch of the data hierarchy, e.g. a region. Also, the present inventionallows common instructions for tasks to be created in order to try toachieve a common standard of work performance across entities. Byallowing a common profile to be applied across multiple entities alsoallows a high level user to quickly and easily modify the profileapplies to the multiple entities. Thus, improvements in practices may bequickly propagated throughout a customer's or region's facilities.

It should be understood that the programs, processes, methods andsystems described herein are not related or limited to any particulartype of computer or network system (hardware or software), unlessindicated otherwise. Various types of general purpose or specializedcomputer systems may be used with or perform operations in accordancewith the teachings described herein.

In view of the wide variety of embodiments to which the principles ofthe present invention can be applied, it should be understood that theillustrated embodiments are exemplary only, and should not be taken aslimiting the scope of the present invention. For example, the datastructures described herein may be altered to store data in differentformats and in different manners from those discussed above withoutdeparting from the teachings of the present invention. Also, the presentinvention may be employed using various types of client and serverdevices capable of communicating and transferring data via wide areanetworks. Further, the steps of the flow diagrams may be taken insequences other than those described, and more or fewer elements may beused in the block diagrams. While various elements of the preferredembodiments have been described as being implemented in software, inother embodiments in hardware or firmware implementations mayalternatively be used, and vice-versa.

It will be apparent to those of ordinary skill in the art that methodsinvolved in the system and method for managing work may be embodied in acomputer program product that includes a computer usable medium. Forexample, such a computer usable medium can include a readable memorydevice, such as, a hard drive device, a CD-ROM, a DVD-ROM, or a computerdiskette, having computer readable program code segments stored thereon.The computer readable medium can also include a communications ortransmission medium, such as, a bus or a communications link, eitheroptical, wired, or wireless having program code segments carried thereonas digital or analog data signals.

The claims should not be read as limited to the described order orelements unless stated to that effect. Therefore, all embodiments thatcome within the scope and spirit of the following claims and equivalentsthereto are claimed as the invention.

1. A web-based work management system, the system comprising: a centralmanagement server configured to communicate through a wide area network,the central management server being configured to maintain a set oftasks to be scheduled and performed at a first facility, where each taskhas associated therewith a graphical icon representing the task, thecentral management server being further configured to allocate a firstsubset of tasks to a first user for performance of the tasks, and wherethe central management server is further configured to receive a firstrequest message corresponding to the first user and, responsive thereto,transmit a first work schedule message that includes the iconscorresponding to the first subset of tasks; and a first client devicecorresponding to the first facility, the first client device beingconfigured to communicate with the central management server through thewide area network, where the first client device includes a userinterface for receiving user input and displaying user data, where thefirst client device is configured to receive a login request from thefirst user and, responsive thereto, transmit the first request messagecorresponding to the first user, and where the first client device isfurther configured to receive the first work schedule message and,responsive thereto, display the icons received in the first workschedule message.
 2. The web-based work management system of claim 1,where: each graphical icon representing a task includes a status dialogbox that may be selected to update a status of the task; the firstclient device is further configured to display the status dialog boxwith each of the icons received in the first work schedule message, andwhere the first client device is configured to detect selection of thestatus dialog box with respect to a selected one of the icons receivedin the first work schedule message and, responsive thereto, send a taskupdate message that identifies the task corresponding to the selectedone of the icons associated with the selected status dialog box and thestatus of the task; and the central management server is furtherconfigured to receive the task update message and, responsive thereto,update a task record corresponding to the task identified in the taskupdate message with the status of the task identified provided in thetask update message.
 3. The work management system of claim 2, where thecentral management server is further configured to receive a statusrequest from a supervisory user for the status of the first subset oftasks, verify that the supervisory user is permitted access to thestatus of the first subset of tasks, and return a status reply messageto the supervisory user.
 4. The work management system of claim 3, wherethe central management server is further configured to receive a statusupdate request from the supervisory user that requests a change of thestatus of at least one of the first subset of tasks and, responsivethereto, update the task record corresponding to the at least one of thefirst subset of tasks.
 5. The work management system of claim 4, wherethe central management server is further configured to detect whetherthe change of the status of the at least one of the first subset oftasks is a rejection of a completed task and, responsive thereto, createan alert message for output to the first user.
 6. The work managementsystem of claim 5, where the central management server is furtherconfigured to include the alert message for output to the first userinto a subsequent request message from the first user.
 7. The workmanagement system of claim 2, where the central management server isfurther configured to detect an uncompleted task in the first subset oftasks and, responsive thereto, reschedule the uncompleted task.
 8. Thework management system of claim 1, where: each graphical iconrepresenting a task includes an instruction dialog box that may beselected to request an instruction corresponding to the task; the firstclient device is further configured to display the instruction dialogbox with each of the icons received in the first work schedule message,and where the first client device is configured to detect selection ofthe instruction dialog box with respect to a selected one of the iconsreceived in the first work schedule message and, responsive thereto,send an instruction request message to the central management serverthat identifies the task corresponding to the selected one of the iconsassociated with the selected instruction dialog box, and where the firstclient device is further configured to receive an instruction file fromthe central management server and display the instruction file to thefirst user; and the central management server is further configured toreceive the instruction request message and, responsive thereto, obtainthe instruction file corresponding to the task identified in theinstruction request message and transmit the instruction file to thefirst client device.
 9. The work management system of claim 1, where:each graphical icon representing a task includes an instruction dialogbox that may be selected to request an instruction corresponding to thetask; the first client device is further configured to display theinstruction dialog box with each of the icons received in the first workschedule message, and where the first client device is configured todetect selection of the instruction dialog box with respect to aselected one of the icons received in the first work schedule messageand, responsive thereto, send an instruction request message to thecentral management server that identifies the task corresponding to theselected one of the icons associated with the selected instructiondialog box, and where the first client device is further configured toreceive an instruction file from the central management server anddisplay the instruction file to the first user; and the centralmanagement server is further configured to receive the instructionrequest message and, responsive thereto, obtain the instruction filecorresponding to the task identified in the instruction request messageand corresponding to a preselected language associated with the firstuser, and transmit the instruction file to the first client device. 10.The work management system of claim 1, where: each graphical iconrepresenting a task includes a map dialog box that may be selected torequest a map corresponding to the task; the first client device isfurther configured to display the map dialog box with each of the iconsreceived in the first work schedule message, and where the first clientdevice is configured to detect selection of the map dialog box withrespect to a selected one of the icons received in the first workschedule message and, responsive thereto, send a map request message tothe central management server that identifies the task corresponding tothe selected one of the icons associated with the selected map dialogbox, and where the first client device is further configured to receivea map file from the central management server and display the map fileto the first user; and the central management server is furtherconfigured to receive the map request message and, responsive thereto,obtain the map file corresponding to the task identified in the maprequest message and transmit the map file to the first client device.11. The work management system of claim 1, where: the central managementserver is further configured to receive a message file for delivery tothe first user and to transmit the message file to the first clientdevice; and the first client device is further configured to receive themessage file and, responsive to a login request by the first user,display the message file.
 12. The work management system of claim 11,where the central management server is further configured to permit asupervisory user to generate the message file for delivery to the firstuser.
 13. The work management system of claim 1, where: the centralmanagement server is further configured to allocate a second subset oftasks to a second user for performance of the tasks, and where thecentral management server is further configured to receive a secondrequest message corresponding to the second user and, responsivethereto, transmit a second work schedule message that includes the iconscorresponding to the second subset of tasks; and the first client deviceis further configured to receive a login request from the second userand, responsive thereto, transmit the second request messagecorresponding to the second user, and where the first client device isfurther configured to receive the second work schedule message and,responsive thereto, display the icons received in the second workschedule message.
 14. The work management system of claim 13, where thecentral management server is further configured to restrict the firstuser from accessing the second subset of tasks and to restrict thesecond user from accessing the first subset of tasks.
 15. The workmanagement system of claim 1, where the central management server isfurther configured to generate the set of tasks in accordance with afirst set of policies corresponding to a first customer associated withthe first facility.
 16. The work management system of claim 15, wherethe central management server is further configured to generate anotherset of tasks in accordance with a second set of policies correspondingto a second customer.
 17. The work management system of claim 1, whereinthe first client device includes a browser application for displayingdata from messages from the central management server and the centralmanagement server is further configured to provide messages to the firstclient device that are compatible with the browser application.
 18. Thework management system of claim 1, where the first client deviceincludes one of a touch screen interface device, a pen-based inputdevice, a keypad input device, and a card-swipe device.
 19. A method formanaging work at a facility, the method comprising: receiving a firstmessage on a central management server, the first message including afirst set of information including tasks to be scheduled and performedat a first facility; generating a first work schedule for a first userselected to perform the first work schedule at the first facility;sending a second message from the central management server to the firstfacility, the second message including the first work schedule;receiving a third message on the central management server from thefirst facility, the third message including task status update datacorresponding to the first work schedule; updating a status of each taskin the first work schedule based upon the task completion data receivedin the third message; and sending a fourth message from the centralmanagement server to the first facility, the fourth message includingthe status of each task in the first schedule.
 20. The method of claim19, further comprising the steps of: receiving a first work statusrequest message from the first facility on the central managementserver; compiling the status for the first work schedule into a firstwork status report; and sending the first work status report to thefirst facility.
 21. The method of claim 20, further comprising the stepsof: receiving a second task update message including a changed statusfor a selected task of the first work schedule shown in the first statusreport; updating the status for the selected task based on the changedstatus received in the second task update message.
 22. The method ofclaim 21, where the step of receiving a first message on a centralmanagement server further comprises receiving a first on a centralmanagement server from an external application, where the first messageincludes a first set of information generated by the externalapplication, the first set of information including tasks to bescheduled and performed at a first facility.
 23. The method of claim 22,the method including the step of sending the changed status for theselected task to the external application.
 24. The method of claim 20,further comprising the steps of: monitoring a status of each taskspecified in the first work schedule using the task status update datareceived from the first facility; detecting that the status for a taskindicates that the task is uncompleted; and rescheduling the uncompletedtask responsively to detecting the uncompleted task status.
 25. Themethod of claim 24, further comprising the step of sending an alertmessage from the central management server to a manager of the firstfacility associated with the uncompleted task.
 26. The method of claim20, further comprising the step of generating performance statistics forthe first facility using data from the first work schedule and taskupdate messages from the first facility.
 27. The method of claim 20,further comprising the steps of: generating a second work schedule for asecond facility managed on the central management server; and storingthe second work schedule and status for each task specified in thesecond work schedule in the database on the central management server.28. The method of claim 27, generating the first and second workschedules in accordance with a first set of policies corresponding to afirst customer associated with the first and second facilities.
 29. Themethod of claim 28, further comprising the step of generating a thirdwork schedule for a third facility associated with a second customer,wherein the third work schedule is generated based on a second set ofpolicies corresponding to the second customer.
 30. A method for managingwork at a facility, the method comprising: sending a first message froma first client device to a central management server, the first messagedefining a first set of information including tasks to be performed andscheduled at the first facility; receiving a second message from thecentral management server on the first client device, the second messageincluding a first work schedule for a first user selected to perform thefirst work schedule at the first facility; displaying the first workschedule to the first user on an electronic management interfaceassociated with the first client device; receiving a first user inputfor a task specified in the first work schedule via the electronicmanagement interface, the user input indicating a task completion;generating a third message on the first client device, the third messageincluding task completion data corresponding to the first work schedule;sending the third message from the first client device to the centralmanagement server; and receiving a fourth message from the centralmanagement server on the first client device, the fourth messageincluding status of each task in the first work schedule.
 31. The methodof claim 30, further comprising the steps of: receiving a request for afirst work status report from a supervisory user via the electronicmanagement interface; sending a first work status request from the firstclient device to the central management server responsive to receivingthe request from the supervisory user; receiving a first work statusreport from the central management site on the first client device; anddisplaying the first work status report to the supervisory user via theelectronic management interface.
 32. The method of claim 31, furthercomprising the steps of: changing a status of a selected task of thefirst work schedule shown in the first work status report by thesupervisory user via the electronic management interface; and sending asecond task update message including the changed status for the selectedtask from the first client device to the central management server. 33.A fixed location interface unit configured to permit informationtransfer between an end user and a central management server, theinterface unit comprising: means for establishing a communication linkbetween the fixed location interface unit and the central managementserver upon activating the fixed location interface unit; an electronicinterface configured to display a first work schedule to a first userand being further configured to receive from the first user taskcompletion status data for each task in the first work schedule; and asecond application configured to generate a first task status updatemessage upon receiving the task completion status data from the firstuser, the second application being further configured to send the firsttask status update message to the central management server.
 34. Thefixed location interface unit of claim 33, wherein the electronicinterface includes a browser interface.
 35. The fixed location interfaceunit of claim 34, wherein the electronic interface includes a graphicaluser interface.
 36. The fixed location interface unit of claim 33,wherein the electronic interface includes one of a touch screeninterface, a pen-based input device, a keypad input device, and acard-swipe device.
 37. The fixed location interface unit of claim 33,further including a third application configured to authenticate thefirst user before displaying the first work schedule on the electronicinterface.
 38. The fixed location interface unit of claim 37, whereinthe third application comprises a voice recognition application or acard reader application configured to authenticate the first user. 39.The fixed location interface unit of claim 33, wherein the first workschedule displayed to the first user on the electronic interfaceincludes an icon-based work schedule in which each task in the workschedule is represented by a task icon.
 40. The fixed location interfaceunit of claim 39, wherein the icon-based work schedule comprises acolor-coded task icon for each task in the first work schedule, thecolor-coded task icon utilized to define a priority level for each task,a warning regulation for each task or a location of work to be performedfor each task at a first facility having the fixed location interfaceunit.
 41. The fixed location interface unit of claim 33, furthercomprising a fourth application configured to permit a supervisory userto request a first work status report using the fixed location interfaceunit.
 42. The fixed location interface unit of claim 41, wherein thefixed location interface unit is further configured to receive the firstwork status report from the central management server, the first workstatus report comprising a work status data generated on the centralmanagement server based on a hierarchy level associated with thesupervisory user.
 43. The fixed location interface unit of claim 42,wherein the electronic interface is further configured to display thefirst work status report to the supervisory user.
 44. The fixed locationinterface unit of claim 43, wherein the first work status reportdisplayed on the electronic interface comprises on icon-based workstatus report in which each task specified in the work status report isassociated with a task status icon.
 45. A central management serverconfigured to manage work on a plurality of facilities, the centralmanagement server comprising: a database configured to store workschedules generated on the central management server for a plurality offacilities, and further being configured to store a plurality offacility records, a plurality of user records, a plurality of taskidentifiers for each task specified in the plurality of work schedules,and a plurality of instruction information records for each task; afirst application configured to receive from a first set of informationincluding tasks to be performed and scheduled for a first facility; asecond application configured to retrieve a first facility record fromthe database and generate a plurality of first facility work schedulesfor a plurality of first facility users selected to perform the tasks atthe first facility; wherein the second application stores the pluralityof first facility work schedules in the database; a third applicationconfigured to generate an icon-based schedule for each of the pluralityof first facility work schedules, wherein each task specified in theplurality of first facility work schedules is associated with apredetermined task icon; a fourth application configured to receive afirst work schedule request from a first user at the first facility,wherein the first user requests the first work schedule via a fixedlocation interface unit configured to permit information transferbetween the plurality of first facility users and the central managementserver, the fourth application further configured to retrieve a firstwork schedule for the first user and send the first work schedule to thefixed location interface unit configured to display the first workschedule to the first user, wherein the first work schedule comprises afirst icon-based work schedule; and a fifth application configured toreceive a first task status update message corresponding to the firstwork schedule and, responsive thereto, update a status of each task ofthe first work schedule based upon task completion data from the firsttask status update message.
 46. The central management server of claim45, wherein the second application is further configured to generate asupervisory work schedule for a supervisor at the first site, whereinthe supervisory work schedule comprises an inspection work schedulegenerated based on the plurality of first facility work schedules. 47.The central management server of claim 45, further comprising a sixthapplication configured to generate a plurality of work status reportsusing task completion data received from the plurality of facilities,wherein the work status reports comprise a plurality of data sets, eachdata set associated with a predetermined access identifier.
 48. Thecentral management server of claim 47, wherein the predetermined accessidentifier comprises a predetermined hierarchy identifier.
 49. Thecentral management server of claim 48, wherein the predeterminedhierarchy identifier comprises a facility location identifier, aregional level identifier or a company level identifier.
 50. The centralmanagement server of claim 47, wherein the sixth application is furtherconfigured to receive a request for a first work status report from afirst supervisory user, and, responsive thereto, the sixth applicationis further configured to determine an access identifier associated withthe first supervisory user and based on the determined accessidentifier, the sixth application being further configured to send awork status report corresponding to the access identifier associatedwith the supervisory user.
 51. The central management server of claim50, wherein the sixth application is further configured to receive asupervisory task status update message from the supervisory user, thesupervisory task status update message including at least one changedstatus in the work status report provided to the supervisory user. 52.The central management server of claim 51, wherein if the at least onechanged status comprises a task unacceptably completed identifier for atask, the sixth application is further configured to determine an userassociated with the task and mark an user record with a taskunacceptably completed identifier.
 53. The central management server ofclaim 45, further comprising a seventh application configured to tracktask completion on the first facility using the first work schedule andfirst task status update message received from the first facility. 54.The central management server of claim 53, wherein the seventhapplication is further configured to detect that a status for a taskindicates that the task is uncompleted and, responsive thereto,reschedule the uncompleted task.
 55. The central management server ofclaim 54 wherein the seventh application is further configured to markan user record associated with the uncompleted task with an uncompletedtask identifier.
 56. The central management server of claim 55, whereinthe seventh application, responsive to detecting the uncompleted task,is further configured to send an alert message to a supervisor of thefirst facility.
 57. The central management server of claim 45 furthercomprising an eight application configured to generate a performancestatistics record for each user using task status update messages andsupervisory task status update messages being received on the centralmanagement server from the first facility.
 58. The central managementserver of claim 57, wherein the eight application is further configuredto determine if any user requires training based on the performancestatistics records, and if so, the eight application is furtherconfigured to provide training instruction to each user having lowperformance statistics, wherein the training instructions are displayedto each user via a corresponding one of the facilities.
 59. A workmanagement database system, the system comprising: a server configuredto maintain task information relating to tasks to be scheduled andperformed at a plurality of facilities, where the server maintains thetask information in a predefined hierarchy based upon a businessorganization of the plurality of facilities, the server furthermaintaining data defining an access level of the hierarchy for each oneof a plurality of users, where each user is permitted access to thedefined access level for the user and any lower levels of the hierarchy,the server being configured to receive an access request with a useridentifier corresponding to a requesting user and an access identifiercorresponding to a requested level of access to the hierarchy, checkwhether the user is permitted access to the requested level and, ifaccess is permitted, transmit a reply to the user that includes the taskinformation for the requested level; and a client configured to receivea user input from one of the plurality of users, the user inputincluding the user identifier for the user and the requested level ofaccess and, responsive thereto, transmit to the server the accessrequest with the user identifier and the requested level of access, theclient being further configured to receive the reply from the serverand, responsive thereto, display the task information for the requestedlevel.
 60. The work management database system of claim 59, where: theserver is further configured to include in the reply to the userinformation describing a portion of the hierarchy to which the user ispermitted access; and the client device is further configured tographically display the portion of the hierarchy to which the user ispermitted access.
 61. The work management database system of claim 59,where: the client device is further configured to receive a broadcastmessage file from a high level user and transmit to the server abroadcast message request from that includes a user identifier for thehigh level user and the broadcast message file; and the server isfurther configured to receive the broadcast message request, determinean access level for the high level user based on the user identifierfrom the broadcast message request, identify from the high level user'saccess level all the users below the high level user's access level inthe hierarchy, and, responsive to a login request from each of theidentified users below the high level user's access level in thehierarchy, output the broadcast message to the user sending the loginrequest.
 62. The work management database system of claim 59, where: theclient device is further configured to receive a broadcast message filefrom one user and transmit to the server a broadcast message requestthat includes the broadcast message file; and the server is furtherconfigured to receive the broadcast message request, determine apredetermined set of users to receive the broadcast message and,responsive to a login request from each of the predetermined set ofusers, output the broadcast message to the user sending the loginrequest.